读书人

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

发布时间: 2013-09-11 16:26:28 作者: rapoo

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

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

?

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

?Spring中AOP实现EHCache的调整(一)Spring中AOP实现EHCache的调整(一)

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

    ?Spring中AOP实现EHCache的调整(一)Spring中AOP实现EHCache的调整(一)

      ?

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

      ?Spring中AOP实现EHCache的调整(一)Spring中AOP实现EHCache的调整(一)
        ?Spring中AOP实现EHCache的调整(一)Spring中AOP实现EHCache的调整(一)
          ?Spring中AOP实现EHCache的调整(一)Spring中AOP实现EHCache的调整(一)
            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

读书人网 >编程

热点推荐