开发者社区 问答 正文

关于Spring配置Ehcache缓存

因为会在内部使用this 调用@Cacheable 标记的方法 而基于 proxy 的 AOP 模式 这种情况不会使用缓存,而直接查询;然后配置了如下的

!--  缓存  属性--> 
    <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">    
        <property name="configLocation"  value="classpath:ehcache.xml"/>   
    </bean> 
     
    <!-- 默认是cacheManager --> 
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
        p:cacheManager-ref="cacheManagerFactory">    
    </bean> 
 
    <!-- 支持缓存注解 -->
    <cache:annotation-driven cache-manager="cacheManager" mode="aspectj" proxy-target-class="true"/>

内部调用的时候还是不能使用缓存;求解答啊

展开
收起
小旋风柴进 2016-03-03 15:44:06 2283 分享 版权
1 条回答
写回答
取消 提交回答
  • 给你两点SpringCache的tips:

    1. 缓存注解只对public方法有效,其他类型均无效
    2. 在Spring代理模式下对象内部自己调用@Cacheable方法不会使用Cache
    2019-07-17 18:51:32
    赞同 展开评论