Spring配置缓存切面

1、采用spring自带缓存,但也可以使用第三方

    <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
        <property name="caches">
            <set>
                <bean
                    class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
                    p:name="typedDict" />
            </set>
        </property>
    </bean>

 

2、缓存切面

    <cache:advice id="dictCacheAdvice" cache-manager="cacheManager">
        <cache:caching cache="typedDict">
            <cache:cacheable method="getByType" />
            <cache:cache-evict method="add" all-entries="true" />
            <cache:cache-evict method="modify" all-entries="true" />
            <cache:cache-evict method="remove" all-entries="true" />
        </cache:caching>
    </cache:advice>

 

3、代理运行

    <bean id="dictService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="proxyInterfaces" value="person.wjt.base.dict.service.DictService" />
        <property name="target" ref="dictServiceImpl" />
        <property name="interceptorNames">
            <list>
                <value>dictCacheAdvice</value>
            </list>
        </property>
    </bean>

 

总结:其实使用到AOP时都是经过以上三种方式,只是表现形式不一样

 

posted @ 2015-10-16 14:20  W&L  阅读(506)  评论(0)    收藏  举报