如果在一个类中存在A、B两个方法,A方法使用了@Cacheable注解,B方法调用A方法的时候该注解不会生效,原因是Spring使用@Cacheable创建缓存是基于AOP实现的,即Java的动态代理机制,解决方案:
1、使用Ehcache 的 CacheManger创建缓存
2、将A、B两个方法分别放到不同的类中。
如果一个类实现了一个接口,在类中的某个方法上使用@Cacheable注解,那么该方法应该是重写的接口中的抽象方法;
如果一个类并没有实现接口,那么想在某个方法上使用@Cacheable注解,只需要该方法为public即可。
本文探讨了Spring中@Cacheable注解未生效的原因,涉及Java动态代理和AOP,提供了解决方案:使用Ehcache创建独立缓存和重构方法。还提及了接口方法和非接口方法应用@Cacheable的情况。
4950

被折叠的 条评论
为什么被折叠?



