配置ehcache,ehcache.xml内容如下:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd">
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="false"
diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"
diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU" />
<cache name="userCache" maxElementsInMemory="1000" eternal="false"
timeToIdleSeconds="100000" timeToLiveSeconds="100000" overflowToDisk="false" />
</ehcache>
配置spring管理ehcache:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd">
<!--启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效-->
<cache:annotation-driven cache-manager="cacheManager" />
<!-- cacheManager工厂类,指定ehcache.xml的位置 -->
<bean id="cacheManagerFactory"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
p:configLocation="classpath:ehcache.xml" />
<!-- 声明cacheManager -->
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
p:cacheManager-ref="cacheManagerFactory" />
</beans>
public class EhcacheSpringTest {
private CacheManager cacheManager;
private Cache cache;
@Before
public void init() {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
EhCacheCacheManager ehCacheManager = (EhCacheCacheManager) ctx
.getBean("cacheManager");
cacheManager = ehCacheManager.getCacheManager();
cache = cacheManager.getCache("userCache");
}
@After
public void destory() {
cacheManager.shutdown();
}
@Test
public void testEhcacheString() {
String key = "hello";
String value = "world";
cache.put(new Element(key, value));
Element element = cache.get(key);
Object obj = element.getObjectValue();
Assert.assertEquals(value, obj);
System.out.println(obj);
}
@Test
public void testEhcacheObj() {
String key = "user";
User value = new User("zhangsan", "lisi");
cache.put(new Element(key, value));
Element element = cache.get(key);
Object obj = element.getObjectValue();
Assert.assertEquals(value, obj);
System.out.println(obj);
Object objSer = element.getValue();
Assert.assertEquals(value, objSer);
System.out.println(objSer);
}
}
重点在上面配置里的那句,【缓存配置一定要声明在spring主配置文件中才会生效】搞了我一晚上。
现在只是写来总结一下。
分享到:
相关推荐
java spring3.2.4 jar包 spring-aop-3.2.4.RELEASE spring-aspects-3.2.4.RELEASE spring-beans-3.2.4.RELEASE spring-build-src-3.2.4.RELEASE spring-context-3.2.4.RELEASE spring-context-support-3.2.4.RELEASE...
2. **spring-context-3.2.4.RELEASE.jar**:上下文模块,构建在core之上,提供了一个更丰富的应用环境,支持XML和注解配置,以及事件发布、国际化和资源访问等功能。它也是其他模块如Web MVC、数据访问等的入口点。 ...
spring 3.2.4 Realease 的所有jar包: spring-context-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-beans-3.2.4.RELEASE.jar spring-test-3.2.4.RELEASE.jar spring-web-3.2.4.RELEASE.jar spring-aop-...
11. **Spring Boot**:虽然Spring 3.2.4.RELEASE 不包含Spring Boot,但值得一提的是,Spring Boot后来成为Spring生态的重要组成部分,它简化了Spring应用的启动和配置过程。 12. **注解驱动开发**:Spring 3.2.x ...
MyBatis是一个轻量级的持久层框架,它简化了Java应用程序中的SQL操作,通过XML或注解配置将SQL语句映射到Java方法上。而Spring则是一个全面的企业级应用框架,提供了包括依赖注入、事务管理、AOP(面向切面编程)...
Spring3.2.4 + Quartz2.2.0集成实例 可参考http://blog.csdn.net/liangbinny/article/details/17284691
`org.springframework.transaction`包下包含了事务策略和回调接口,如`PlatformTransactionManager`和`Transactional`注解。通过源码,我们可以看到Spring是如何透明地处理事务的,这对于开发复杂的分布式系统尤其...
9. **Java配置**:除了XML配置,Spring3.2.4开始支持Java配置,使得配置更加简洁且易于理解和维护。 在"libs"这个压缩包子文件的文件名称列表中,我们可以推测包含了Spring框架所需的各个模块的jar包,如spring-...
总的来说,这个压缩包为那些希望在Spring 3.2.4环境中使用MongoDB的开发者提供了一站式的解决方案,减少了配置和依赖管理的工作量。通过这些组件,开发者可以轻松地创建能够充分利用MongoDB特性的应用,例如进行高...
1. **依赖注入**:Spring 3.2.4继续强化了依赖注入特性,允许开发者通过XML配置或注解来管理对象之间的依赖关系,降低了代码的耦合度,提高了可测试性和可维护性。 2. **面向切面编程**:AOP在Spring中允许开发者...
1. **依赖注入**:通过配置文件或注解,Spring负责管理对象的生命周期和它们之间的依赖关系,从而提高代码的可测试性和可维护性。 2. **AOP**:Spring的面向切面编程允许开发者定义“切面”,将关注点如日志、事务...
Hibernate3.6.5版本引入了注解配置,如`@Entity`定义实体类,`@Table`指定表名,`@Id`标识主键,`@GeneratedValue`管理自增字段,以及`@ManyToOne`、`@OneToMany`等定义关联关系。注解的使用使得ORM映射更加直观,与...
Spring 3.2.4版本在之前的版本基础上,增强了对Java配置的支持,使得我们可以使用Java类替代XML配置文件,这大大简化了配置工作。此外,该版本还提升了对AspectJ注解的支持,使得AOP操作更加便捷。在本项目中,...
7. **JSR-330标准支持**:Spring3.2.4引入了对JSR-330(Dependency Injection for Java)标准的支持,如@Inject和@Provider等注解,进一步提升了与其他Java EE框架的兼容性。 8. **Spring Expression Language ...
这个版本还提升了性能,尤其是在使用注解配置时,同时对Spring MVC进行了改进,支持了更多视图技术,如FreeMarker和Velocity。 总的来说,Spring 3.2.4是构建企业级Java应用的重要组成部分,它与Hibernate和Struts2...
MyBatis是一个持久层框架,它简化了数据库操作,通过XML或注解方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在这个项目中,MyBatis与Spring集成,...
本篇文章将深入探讨如何将MyBatis 3.2.3版本与Spring 3.2.4版本进行整合,以及如何通过Java代码执行SQL语句。这涉及到Java编程、数据库操作以及框架集成等多个知识点。 首先,MyBatis是一个优秀的持久层框架,它...
这是我自己收集的spring3.2.4的核心源码包,里面包含了spring所需要的绝大部分的包而且是源码,需要的同学可以下下去看看,有源码在手的话,查东西很方面,我用的很顺手,所以拿出来和大家分享,希望对你们有用。
在这个"mybatis3.2.3整合spring3.2.4基本实现demo"中,`frame_demo_xml`可能是包含上述配置文件、Mapper接口以及相关实体类的目录。通过这个演示,你可以了解到如何在实际项目中设置和使用MyBatis和Spring的整合,...
Spring3.2.4+Quartz2.2.0 实例 <!-- 启动触发器的配置开始 --> class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 启动触发器的配置结束 --> <!-- 调度的配置...