004-spring cache-声明性的基于XML的缓存

一、概述

  如果注释不是选项(不能访问源代码或没有外部代码),可以使用XML进行声明式缓存。因此,不是注释用于缓存的方法,而是从外部指定目标方法和缓存指令(类似于声明式事务管理建议)。

<!-- the service we want to make cacheable -->
<bean id="bookService" class="x.y.service.DefaultBookService"/>

<!-- cache definitions -->
<cache:advice id="cacheAdvice" cache-manager="cacheManager">
    <cache:caching cache="books">
        <cache:cacheable method="findBook" key="#isbn"/>
        <cache:cache-evict method="loadBooks" all-entries="true"/>
    </cache:caching>
</cache:advice>

<!-- apply the cacheable behavior to all BookService interfaces -->
<aop:config>
    <aop:advisor advice-ref="cacheAdvice" pointcut="execution(* x.y.BookService.*(..))"/>
</aop:config>

<!-- cache manager definition omitted -->

  声明式XML缓存支持所有基于注释的模型,因此两者之间的移动应该相当容易 - 两者都可以在同一个应用程序中使用。基于XML的方法不会触及目标代码,但它本质上更加冗长;当处理重载缓存的方法的类时。

  具体使用方式,与注解方式一致。

 

posted @ 2018-06-11 16:36  bjlhx15  阅读(211)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭