同一个类里@Cacheable缓存不起作用

Posted SmilingEye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一个类里@Cacheable缓存不起作用相关的知识,希望对你有一定的参考价值。

问题原因:

注解@Cacheable是使用AOP代理实现的 ,通过创建内部类来代理缓存方法,类内部的方法调用类内部的缓存方法不会走代理,所以就不能正常创建缓存,所以每次都需要去调用数据库。

解决方法:

方法1(注入自己):

@Autowired
LayerService service;

方法2:

使用AspectJ,这个方式太复杂,有时间再试

 

相关资源:

https://www.cnblogs.com/cyhbyw/p/8615816.html

https://stackoverflow.com/questions/16899604/spring-cache-cacheable-not-working-while-calling-from-another-method-of-the-s/48867068#48867068

 

以上是关于同一个类里@Cacheable缓存不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Spring Ehcache中@Cacheable不起作用。

@cacheable的缓存怎么使用

详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用

Spring缓存注解@Cache,@CachePut , @CacheEvict,@CacheConfig使用

项目配置shiro原缓存注解失效

为啥同一个类里cacheevict