@Cacheable注解不生效原因

因为@Cacheable注解应用了AOP动态代理,生成代理类,判断缓存中是否存在该key,如果不存在则调用被代理类的标有@Cachable注解的方法,否则不执行。

所以当类A的方法a调用方法b(标有@Cacheable注解),由于类内部的方法互相调用不会生成代理类,所以注解不会生效,也不会进行缓存。

解决方法:

将方法b放入到类B中,然后类A的a方法调用类 B的b方法。

原文地址:https://www.cnblogs.com/BonnieWss/p/11655032.html