文档章节

Spring2..5整合Ehacahe

二两豆腐
 二两豆腐
发布于 2015/11/24 14:52
字数 462
阅读 9
收藏 0

 在整合的过程中真是报各种各样的错误,其中最主要的就是jar包冲突以及不全,所以此文档中把所需要的必须jar都列了出来

1,必须的jar

spring.jar spring-modules-cache.jar ehcache-core-2.4.6.jar

slf4j-api-1.5.6.jar slf4j-jdk-1.5.2.jar slf4-log4j-1.5.6.jar

oro-2.0.8.jar log4j-1.2.9.jar commons-logging-1.0.4.jar cglib-nodep-2.1_3.jar

asm-util-2.2.3.jar asm-commons-2.2.3.jar asm-2.2.3.jar

 

2,applicationContext.xml中的配置

 

 <?xml version="1.0" encoding="UTF-8"?>     <beans xmlns="http://www.springframework.org/schema/beans"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://www.springframework.org/schema/beans          http://www.springframework.org/schema/beans/spring-beans-2.5.xsd          ">                  <!-- 使用EhcacheManager -->         <bean id="cacheManager"             class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">         <property name="configLocation" value="classpath:apEhcache.xml"/>         </bean>          <bean id="cacheProviderFacade" class="org.springmodules.cache.provider.ehcache.EhCacheFacade">             <property name="cacheManager" ref="cacheManager"/>         </bean>                  <!-- 配置方法拦截器 -->         <!-- 缓存拦截器 -->         <bean id="cachingInterceptor"  class="org.springmodules.cache.interceptor.caching.MethodMapCachingInterceptor">                  <property name="cacheProviderFacade" ref="cacheProviderFacade"/>         <property name="cachingModels">             <props>                 <!-- 所有StudentService对象中,以get开头的方法都将进行缓存 -->                 <prop key="com.service.StudentService.get*">                     cacheName=testCache                 </prop>             </props>         </property>         </bean>         <!-- 缓存刷新拦截器 -->         <bean id="fulshingInterceptor" class="org.springmodules.cache.interceptor.flush.MethodMapFlushingInterceptor">               <property name="cacheProviderFacade" ref="cacheProviderFacade"/>               <property name="flushingModels">                     <!-- 进行cache刷新(清除) -->                     <props>                         <prop key="com.service.StudentService.set*">                             cacheNames=testCache                         </prop>                     </props>               </property>         </bean>                  <!-- 配置 基于BeanName规则的动态代理封装 -->         <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">             <property name="beanNames">                 <list>                     <value>studentService</value>                 </list>             </property>             <property name="interceptorNames">                 <list>                     <value>cachingInterceptor</value>                     <value>fulshingInterceptor</value>                 </list>             </property>         </bean>                  <bean id="studentService" class="com.service.StudentService"></bean>     </beans>

3,对缓存的配置(apEhcache.xml)

 

 <?xml version="1.0" encoding="UTF-8"?>     <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">          <diskStore path="java.io.tmpdir" />          <defaultCache maxElementsInMemory="10000" eternal="false"             timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"             maxElementsOnDisk="10000000" diskPersistent="false"             diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" />         <cache name="testCache"             maxElementsInMemory="20000" maxElementsOnDisk="1000" eternal="true"             overflowToDisk="true" memoryStoreEvictionPolicy="LFU" />     </ehcache>

4、测试Service

 

 package com.service;          public class StudentService {                  private String name = "matthew";              public String getName() {                 return name;             }              public String getName(String salution) {                 return salution + " " + name;             }              public void setName(String name) {                 this.name = name;             }              public void changeNameAndNotTellCache(String name) {                 this.name = name;             }          }

5、使用方法Clent

 

 package com.service;      import org.springframework.context.support.AbstractApplicationContext;     import org.springframework.context.support.ClassPathXmlApplicationContext;      public class TestCache {         public static void main(String[] args) {                   AbstractApplicationContext context;                   context = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");                   context.start();                                   StudentService ss = (StudentService) context.getBean("studentService");               n(name);                  //update cache                  System.out.println("清除缓存后,再次访问 ");                  ss.setName("Michael");                  name = ss.getName();                  System.out.println(name);                                   name = ss.getName("Mr");                  System.out.println(name);                                    context.close();                  }     }

 

© 著作权归作者所有

二两豆腐
粉丝 22
博文 103
码字总数 87685
作品 0
朝阳
高级程序员
私信 提问
vSphere 5.5 VM整合磁盘失败之—文件被锁定无法访问

vSphere 5.5 VM整合磁盘失败之—文件被锁定无法访问 环境:vSPhere 5.5u3,虚机使用EMC的networker备份 问题现象:在vc上发现,晚上经过networker的备份之后,虚机提示需要整合磁盘 解决前相...

Makka_Pakka
2018/07/06
0
0
snakerflow/snaker-springmvc

Introduction Snaker-SpringMVC项目主要是基于springMVC、spring3、hibernate3、snaker框架整合的一个最基本的流程管理模块,方便大家轻松地完成流程引擎的整合 ###整合步骤 ####1).依赖包整...

snakerflow
2014/11/30
0
0
springboot从入门到精通教程分享, 深度掌握Springboot实践技术教程

深度掌握Springboot实践技术教程,共22个课时,需要的可回复邮箱。 课程简介 day1 01springboot简介-曾经开发中的问题 02springboot解决的问题-优势以及弊端 03springboot环境准备 04spring...

小小倾听
2018/12/06
717
19
白俊遥/thinkphp-bjyadmin

创建 QQ 群及捐赠渠道 链接 博客:http://baijunyao.com github:https://github.com/baijunyao/thinkphp-bjyadmin oschina:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 简介 使......

白俊遥
2016/06/30
0
0
玩转springboot:整合mybatis实例

这篇文章讲解一下springboot整合mybatis,其实,springboot整合mybatis和springmvc整合mybatis并没有什么太大的区别,大体上还是差不多哦,只是比springmvc更加的简单一点,下面我们就以一个...

java知识分子
2018/10/30
89
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 人生,还真是到处是意外

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享lil peep的单曲《High School》 《High School》- lil peep 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
56分钟前
36
2
Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
9
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
10
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部