读书人

Spring Module上配置缓存的两种方法

发布时间: 2012-11-18 10:51:21 作者: rapoo

Spring Module下配置缓存的两种方法

以EhCache为例说明缓存的配置方法:

第一种方法,配置Spring配置文件,使用AOP处理缓存

1)添加Provider,初始化CacheManager

testCache(a)</prop>    <prop key="is*">cacheName=testCache</prop>   </props>  </property>  <property name="flushingModels">   <props>    <prop key="insert*">cacheNames=testCache</prop>    <prop key="delete*">cacheNames=testCache</prop>    <prop key="update*">cacheNames=testCache</prop>   </props>  </property>  <property name="target" ref="testServiceTarget(b)" /> </bean>

?

其中(a)为第2步定义的cache的名字,(b)为需要缓存的bean的id。

?

这样,第一种方式就配置好了。

?

第二种方法,使用Annotations的配置方式。

1)同第一种方法1)。

2)同第二种方法2)。

3)在需要处理缓存的方法前面配置Annotion

@Cacheable(modelId="testCache")//写在方法前面就会缓存方法的返回结果

@CacheFlush(modelId="testFlushing")//写在方法前面,就会在执行该函数时清除缓存里面的数据。

这样第二种方法也完成了。

第一种方法在flush的时候可以同时flush多个缓存。第二种方法只能flush一个缓存,而且第一种方法只需要修改Spring配置文件即可。

?

1 楼 hanyu332 2011-01-17 hibernate会自动使用这个spring配置的cacheManager吗?

读书人网 >软件架构设计

热点推荐