Spring基于注解的缓存配置--EHCache AND OSCache

本文将构建一个普通工程来说明spring注解缓存的使用方式,关于如何在web应用中使用注解缓存,请参见:

Spring基于注解的缓存配置--web应用实例

一.简介
在spring的modules包中提供对许多第三方缓存方案的支持,包括:
EHCache
OSCache(OpenSymphony)
JCS
GigaSpaces
JBoss Cache
等等。
将这些第三方缓存方案配置在spring中很简单,网上有许多介绍,这里只重点介绍如何配置基于注解的缓存配置。
本文将通过例举EHCache和OSCache详细介绍如何使用spring配置基于注解的缓存配置,注意这里的缓存是方法级的。

二.依赖
在开始介绍如何进行缓存配置前先介绍一下EHCache和OSCache的jar依赖。
EHCache:
ehcache-core-1.7.2.jar
jakarta-oro-2.0.8.jar
slf4j-api-1.5.8.jar
slf4j-jdk14-1.5.8.jar

OSCache:
oscache-2.4.1.jar

此外,两者都需要的jar如下:
cglib-nodep-2.1_3.jar
commons-logging.jar
log4j-1.2.15.jar
spring-modules-cache.jar
spring.jar

三.配置

两种缓存在spring配置文件中都可以使用两种配置方式,一种是spring2.0以前的完全基于bean的复杂配置,一种是使用后来的基于命名空间的简单配置,两种配置效果相同,分别介绍如下:


EHCache:
1)普通配置

2)命名空间配置

OSCache:
1)普通配置

2)命名空间配置

四.注解

@Cacheable:声明一个方法的返回值应该被缓存

例如:@Cacheable(modelId = "testCaching")

@CacheFlush:声明一个方法是清空缓存的触发器

例如:@CacheFlush(modelId = "testCaching")

五.测试

这是用使用一个带有main函数的类来进行测试,代码如下:

测试结果

Processing testCaching
nihao:0
nihao:0
nihao:0
Processing testFlushing
Processing testCaching
nihao:0
nihao:0
nihao:0

六.缓存配置文件

ehcache.xml

oscache.properties

原文件请参见附件: SpringCache.rar (3.7 MB)

你可能感兴趣的:(spring,AOP,bean,cache,配置管理)