首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring中AOP兑现EHCache的整合(一)

2012-09-22 
Spring中AOP实现EHCache的整合(一)?????????? 在项目中使用缓存我OSCache,今天有时间将所有的EHCache的缓

Spring中AOP实现EHCache的整合(一)

?????????? 在项目中使用缓存我OSCache,今天有时间将所有的EHCache的缓存的应用关注一下。首先我们看看Spring和EHCache采用AOP实现的缓存实现。

?

1.首先使用EHCache编写EHCache的配置文件。

?2.编写AOP的方法拦截器,此处采用环绕通知的方式实现方法拦截。

?

3.Spring的关于缓存的配置类似事物的配置:

package com.easyway.ecache.service;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;  /**   * 这里使用了ehcache与spring结合,这里并没用用到数据库,用spring只是用来管理bean, * 这里用ehcache就相当于数据库,存放对象信息   *  @author longgangbai */    @SuppressWarnings({"unchecked"})   public class HelloEhcacheSpring{       public static void main(String[] args) {           ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");                      TicketService ticketSrv = (TicketService) context.getBean("ticketService");                //配置了spring就可以从配置文件里找到对应的接口实现类,再生成实例对象,以完成业务处理       String srvName0=ticketSrv.testMethod();        //获取初始化服务端名称    System.out.println("srvName0="+srvName0);        //设置存储的名称    ticketSrv.setServiceName("ticketService");        String srvName1=ticketSrv.testMethod();        //获取服务端名称    System.out.println("srvName1="+srvName1);        //修改服务名称但是不缓存    ticketSrv.updateMethod();        String srvName2=ticketSrv.testMethod();        //获取服务端名称来源自缓存注意观察        System.out.println("srvName2="+srvName2);                  }       }  

?

6.测试结果:

没走缓存,直接调用TestService.testMethod()

打印信息如下:
set into cache
out cache
srvName0=china
out cache
srvName1=china
updateMethod
out cache
srvName2=china

?

热点排行