在这里我们使用大家熟悉的EHcache作为缓存方案,首先在配置文件里声明缓存。
roadrantz.-cache.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ehcache="http://www.springmodules.org/schema/ehcache"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema.beans/spring-beans-2.0.xsd
http://www.springmodules.org/schema/ehcache
http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd">
...
</beans>
加载EHCache配置文件:
<ehcache:config
configLocation="classpath:ehcache.xml"/>
配置ehcache.xml
<ehcache>
<defaultCache
maxElementsInmMemory="500"
eternel="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="LFU" />
<cache name="rantzCache"
maxElementsInmMemory="500"
eternel="true"
overflowToDisk="false"
memoryStoreEvictionPolicy="LFU" />
</ehcache>
必须要有一个默认缓存 defaultCache
使用HibernateRantDao的getRantForDay进行缓存
<ehcache:proxy id="rantDao" refId="rantDaoTarget">
<ehcache:caching methodName="getRantForDay" cacheName="rantzCache" />
</ehcache:proxy>
缓存多个方法,如get..()
<ehcache:caching methodName="get*" cacheName="rantzCache" />
刷新缓存
<ehcache:flushing methodName="saveRant" cacheName="rantzCache" when="after"/>
注解驱动缓存,代理多个要缓存的bean
针对java5平台可使用属性@Cacheable @CacheFlush 很便捷的在特定的方法进行声明
@Cacheable(mothodId="rantzCacheModel")
public List<Rant> getRantFotDay(Date day){
return getHibernateTemplate().find("from " + RANT +"where postedDate = ?",day);
}
@CacheFlush(moothodId="rantzFlushModel")
public void saveRant(Rant rant){
getHibernateTemplate().saveOrUpdate(rant);
}
rantzCacheModel rantzFlushModel需要配置,在roadrantzcache.xml中
<ehcache:annotations>
<ehcache:caching id="rantzCacheModel" cacheName="rantzCache" />
<ehcache:flushing id="rantzFlushModel" cacheName="rantzCache" when="after" />
</ehcache:annotations>
一个很简单的缓存流程就完成了。
分享到:
相关推荐
有页面缓存、应用级别的缓存,应用级缓存又分为本地缓存、分布式缓存,在本地缓存中,常用的有成员变量或局部变量实现、静态变量实现、Ehcache、Guava组件、Spring注解缓存等,分布式缓存常用的有redis、mongdb、...
《Spring Boot 进阶笔记(详细全面) 中文PDF完整版.pdf》是一份非常实用的Spring Boot进阶学习资料,适用于已经掌握基础知识的开发者,希望深入学习Spring Boot框架的高级应用。 本资料主要包含了Spring Boot的高级...
Spring Boot 技术栈分享,spring-boot-route包含基础知识、Web开发、数据访问、缓存服务、消息队列、日志管理、服务监控、定时任务及其他知识等九大部分,二十三篇文章,内容几乎涉猎了开发中比较常用的技术点。...
本课程是基于Spring、Spring MVC和Spring Boot框架的理论与实践相结合的课程,主要讲解Spring、Spring MVC和Spring Boot框架的基础知识和实际应用。 通过本课程的学习,应: 首先,了解Spring、Spring MVC和Spring ...
- Spring Boot 基础知识,包括SpringBoot起步、配置详解、aop、filter、拦截器、监听、启动器、全局异常处理、外部Tomcat启动、HTTPS、监控 等。 - springboot-data - Spring Boot 数据库操作,包括SpringJDBC、...
Java基础知识:包括Java语言特性、面向对象编程、集合框架、异常处理等基础知识点。 数据库和SQL:涵盖数据库基础知识、SQL语句的编写和优化、数据库事务等相关内容。 Web开发:包括常用的Web开发框架(如Spring、...
1. Java基础知识: - 语法 - 面向对象编程 - 集合框架 - 异常处理 - 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - ...
26.2.基础知识 26.2.1.应用通知 26.2.2.使用切入点-基本概念 26.3.深入探讨 26.3.1.其它类型的通知 26.3.1.1.前置通知 26.3.1.2.后置通知 26.3.1.3.异常通知 26.3.1.4.引入(mixins) 26.3.1.5.通知链 26.3.1.6.配置...
1. Java基础知识: - 语法 - 面向对象编程 - 集合框架 - 异常处理 - 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - ...
Context-support模块:提供了对第三方库嵌入Spring应用的集成支持,比如缓存(EhCache、Guava、JCache)、邮件服务(JavaMail)、任务调度(CommonJ、Quartz)和模板引擎(FreeMarker、JasperReports、速率)。 SpEL模块:...
7.9 JVM Class文件字节码转换基础知识 7.9.1 java.lang.instrument包的工作原理 7.9.2 如何向JVM中注册转换器 7.9.3 使用JVM启动参数注册转换器的问题 7.10 使用LTW织入切面 7.10.1 Spring的LoadTimeWeaver 7.10.2 ...
java面试笔试资料包括JAVA基础核心知识点深度学习Spring面试题等资料合集: JAVA核心知识点整理-282页 Java与哈希算法.docx Java中Lambda表达式的使用.docx JAVA多线程之线程间的通信方式.docx Java注解详解.docx ...
7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring Boot 的Thymeleaf 支持 175 7.2.4 实战 177 7.3 Web 相关配置 182 7.3.1 Spring Boot 提供的自动配置 182 7.3.2 接管Spring Boot 的Web ...
1. Java基础知识: - 语法 - 面向对象编程 - 集合框架 - 异常处理 - 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - ...
1. Java基础知识: - 语法 - 面向对象编程 - 集合框架 - 异常处理 - 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - ...
7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring Boot 的Thymeleaf 支持 175 7.2.4 实战 177 7.3 Web 相关配置 182 7.3.1 Spring Boot 提供的自动配置 182 7.3.2 接管Spring Boot 的Web ...
今天给大家讲讲关于多级网关与多级缓存架构的相关知识,在文章里面,我将从0到1带着大家构建基础服务接口,通过层层递进优化服务,使得服务具备多级缓存的特性,并融合OpenResty拓展一个强大的多级网关+多级缓存的...
7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring Boot 的Thymeleaf 支持 175 7.2.4 实战 177 7.3 Web 相关配置 182 7.3.1 Spring Boot 提供的自动配置 182 7.3.2 接管Spring Boot 的Web ...
包含了JVM、java集合、多线程并发、java基础、spring生态原理、微服务、设计模式、NETTY与RPC、网络、日志、ZOOKEEPER、KAFKA、RABBITMQ、HBASE、MONGDB、CASSANDRA、负载均衡、数据库、一致性算法、java算法、数据...
7.9 JVM Class文件字节码转换基础知识 7.9.1 java.lang.instrument包的工作原理 7.9.2 如何向JVM中注册转换器 7.9.3 使用JVM启动参数注册转换器的问题 7.10 使用LTW织入切面 7.10.1 Spring的LoadTimeWeaver 7.10.2 ...