博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 3.0.5 MVC 基于注解ehcache.xml 配置方式
阅读量:5283 次
发布时间:2019-06-14

本文共 1309 字,大约阅读时间需要 4 分钟。

Spring 3.0.5的,更细颗粒化的缓存设置,更方便的注解,可以具体到把每个方式的返回值做缓存, 

需要 ehcache-spring-annotations-1.1.x

applicationContext.xml

1 
18 19
20 21
22
23

其次,src下的ehcache.xml

1 
2
5
6
13 14
22 23

DAO层缓存:例如下边这个方法的返回值需要缓存: 

@SuppressWarnings("unchecked") 
//spring 3 基于注解ehcache缓存配置; 
@Cacheable(cacheName="departCache") 
public List<AppDepart> getChildDepart(Integer id) throws Exception { 
  return  this.getHibernateTemplate().find("from AppDepart  where state=1 and idParent="+id); 
@Cacheable(cacheName="departCache") 加上这句话,其中cacheName 对应ehcache.xml  中的<cache name="departCache" 
这样这个方法返回值就可以被缓存起来的了,但是怎么样把缓存数据和数据库中的数据实现同步呢? 
如果对这个PO做update ,save,delete 可以实现这样策略如下: 
@Transactional(propagation = Propagation.REQUIRED) 
//设定spring的ecache缓存策略,当编辑机构时候,把缓存全部清除掉,以达到缓存那数据同步; 
@TriggersRemove(cacheName="departCache",removeAll=true) 
public boolean editDepart(String depno, String depName) { 
  boolean flag = false; 
  try { 
   AppDepart depart = departDao.getAppdepart(depno); 
   depart.setDepName(depName); 
   departDao.update(depart); 
   flag = true; 
  } catch (Exception e) { 
   e.printStackTrace(); 
  } 
  return flag; 
好了到此配置完毕,但是更加详细缓存配置策略需要研究(例如:当update数据时候,不全部清掉缓存,就可以达到与数据库同步效果) 

 

转载于:https://www.cnblogs.com/JavaTechLover/archive/2012/09/18/spring-ehcache.html

你可能感兴趣的文章
文件及输入输出流模拟ATM机
查看>>
java枚举类型总结
查看>>
1. pyhanlp介绍和简单应用
查看>>
RabbitMQJava系列1-简单队列
查看>>
(转)Java并发编程总结---Hadoop核心源码实例解读
查看>>
2014年个人工作愿景
查看>>
[LeetCode] Wildcard Matching
查看>>
Python 15 html 基础 - CSS &javascript &DOM
查看>>
HDU5412 CRB and Queries 整体二分
查看>>
poj 2114 树的分治 可作模板
查看>>
数据库查询问题小记
查看>>
validate插件:验证密码没有空格 用户名是5-10位 至少包含数字和大小写字母中的两种字符...
查看>>
echarts问题
查看>>
day 06 小数据池和编码
查看>>
node.js安装备忘录
查看>>
c/c++ explicit用法
查看>>
yum-Remi源配置
查看>>
作业10-异常 java
查看>>
C\C++中strcat()函数、sprintf函数
查看>>
HTTP的特点?
查看>>