`
vanadiumlin
  • 浏览: 504938 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring 3.0.5 MVC 基于注解ehcache.xml 配置方式

阅读更多

spring 3.0.5 发布后,公司使用Spring MVC +Hibernate 3.5 做项目,其中用到了缓存机制,spring 3.0.5 中ehcache配置方法很简单,其中缓存机制很细颗粒化,可以具体到把每个方式的返回值做缓存,好了不说废话下面开始:

需要JAR包:
第一:spring 3.0.5 其中JAR;
第二:另外需要增量JAR包(cglib-2.2.jar,ehcache-spring-annotations-1.1.2.jar)注意版本;

其中applicationContext.xml 其中配置:
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://www.springframework.org/schema/aop
  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.0.xsd
  http://www.springframework.org/schema/tx
  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring  
  http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd">

<ehcache:annotation-driven cache-manager="ehCacheManager" />
 
 <bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
       <property name="configLocation" value="classpath:ehcache.xml" /> 
   </bean>

加到你的文件中去,上边是头信息自己可以比照下,没有的加进去;


在你的 src 目录下新建ehcache.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
 updateCheck="false">
 <diskStore path="java.io.tmpdir" />
 <defaultCache eternal="false"
   maxElementsInMemory="1000"
   overflowToDisk="false"
   diskPersistent="false"
   timeToIdleSeconds="0"
   timeToLiveSeconds="600"
   memoryStoreEvictionPolicy="LRU" />

 <cache name="departCache"
   eternal="false"
   maxElementsInMemory="100"
   overflowToDisk="false"
   diskPersistent="false"
   timeToIdleSeconds="0"
   timeToLiveSeconds="300"
   memoryStoreEvictionPolicy="LRU" />

</ehcache>

其中里边详细配置自己可以去上网搜下;

这样基本上配置完成了:

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数据时候,不全部清掉缓存,就可以达到与数据库同步效果)
以下配置经本人完成测试通过(只限于本版本)。

分享到:
评论

相关推荐

    spring3.0.5 所有jar文件

    org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE.jar org.springframework....

    spring-framework-3.0.5.RELEASE-dependencies.zip

    spring-framework-3.0.5.RELEASE-dependencies.zip

    spring3.0.5的所以jar包

    1. **org.springframework.context-3.0.5.RELEASE.jar**: 这个jar包是Spring框架的核心模块之一,它提供了应用上下文(ApplicationContext)的支持,这是Spring中管理和装配bean的主要接口。ApplicationContext...

    springMVC3.0.5常用的所有jar包.zip

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本压缩包 "springMVC3.0.5常用的所有jar包.zip" 中,包含了一...

    spring mvc 3.0.5工程所需包整合

    org.springframework.aop-3.0.5.RELEASE.jar,org.springframework.asm-3.0.5.RELEASE.jar,org.springframework.aspects-3.0.5.RELEASE.jar,org.springframework.beans-3.0.5.RELEASE.jar,org.springframework....

    org.springframework.context_3.0.5.release.jar.zip

    通过XML配置或注解的方式,开发者可以控制bean的生命周期,例如设置初始化方法、销毁方法,或者声明bean的范围(单例、原型等)。 四、依赖注入 依赖注入是Spring的核心特性,ApplicationContext通过读取配置文件...

    vsftpd-3.0.5-1.el8.x86_64.rpm

    rpm -Uvh vsftpd-3.0.5-1.el8.x86_64.rpm 3)然后修改vsftpd.conf文件: sed -i 's|anonymous_enable=YES|anonymous_enable=NO|g' /etc/vsftpd/vsftpd.conf sed -i 's|listen=NO|listen=YES|g' /etc/vsftpd/vsftpd....

    spring3.0.5_javadoc-api.zip

    容器根据XML或注解配置加载并管理Bean。 3. **AOP(Aspect-Oriented Programming,面向切面编程)**:Spring提供了AOP支持,允许开发者定义横切关注点(cross-cutting concerns),如日志、事务管理等,将它们与...

    org.springframework.asm-3.0.5.RELEASE.jar

    《深入解析Spring ASM库:org.springframework.asm-3.0.5.RELEASE.jar》 Spring框架是Java开发领域中不可或缺的一部分,而org.springframework.asm-3.0.5.RELEASE.jar是Spring框架中的一个关键组件,主要涉及到字节...

    spring3.0.5MVC例子

    在本示例中,我们探讨的是使用Spring 3.0.5版本的MVC框架以及Hibernate 3.6.10版本的集成,构建一个基于注解的注册登录应用。这个压缩包文件“springMVC_demo01”包含了实现这个功能的所有必要组件和配置。 首先,...

    spring-framework-3.0.5.RELEASE-dependencies-1

    spring-framework-3.0.5.RELEASE-dependencies 好不容易找到了,赶紧分享一下 因为不能大于20M,共分了8个包,都是独立的,我列了目录,可以只下载需要的包,这是1号包: 1号包: edu.emory.mathcs.backport edu.oswego.cs....

    spring3.0.5 mvc 简单登录 jar包全

    其次,Spring MVC的配置:在Spring 3.0.5中,我们通常会有一个`web.xml`文件作为部署描述符,用于配置DispatcherServlet,它是Spring MVC的前端控制器。此外,还需要一个或多个Spring配置文件(如`app-config.xml`)...

    vsftpd-3.0.5.el 7.9.zip

    centos el7上的vsftpd v3.0.5版本的rpm安装包 1)如果运行了vsftpd,则先停止: systemctl stop vsftpd 2)安装或升级vsftpd: rpm -Uvh vsftpd-3.0.5-1.el7.x86_64.rpm rpm -Uvh vsftpd-sysvinit-3.0.5-1.el7.x86_...

    org.springframework.web-3.0.5.RELEASE.jar

    org.springframework.web-3.0.5.RELEASE.jar

    spring mvc 3.0.5 jar包

    - `org.springframework.web.struts-3.0.5.RELEASE.jar`:此包提供了与Apache Struts框架的集成,使得基于Struts的应用程序可以利用Spring MVC的功能。 - `org.springframework.web.servlet-3.0.5.RELEASE.jar`:...

    spring-batch-3.0.5.RELEASE-dist.zip

    在"spring-batch-3.0.5.RELEASE-dist.zip"这个压缩包里,包含了Spring Batch框架的核心组件和相关文档,允许开发者快速地集成和配置批处理作业。以下是一些关键的知识点: 1. **核心概念**: - **Job**:Spring ...

    spring-framework-3.0.5.RELEASE-dependencies.part3.rar

    绝对原版的spring-framework-3.0.5.RELEASE-dependencies,我找很久才找到,所以分享给有需要的人,总大小132MB,权限不够只能每次上传50M,所以,分三次上传

    spring-framework-3.0.5.RELEASE

    spring3.0.5的全部20个jar文件,常用的如下:org.springframework.asm-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE.jar org.springframework.context-3.0.5.RELEASE.jar org.springframework.core-...

Global site tag (gtag.js) - Google Analytics