@Cacheable缓存内部方法调用失效解决方法
程序员文章站
2024-01-07 21:41:22
1.类注解类上加注解,如:@EnableAspectJAutoProxy ( proxyTargetClass = true , exposeProxy = true )public class AbcServiceImpl implements AbcService{}2.方法内调用方式变化原:this.getCache();改为:AbcServiceImpl currentProxy = (AbcServiceImpl) AopContext.currentPr...
1.类注解
类上加注解,如:
@EnableAspectJAutoProxy ( proxyTargetClass = true , exposeProxy = true )
public class AbcServiceImpl implements AbcService{}
2.方法内调用方式变化
原:
this.getCache();
改为:
AbcServiceImpl currentProxy = (AbcServiceImpl) AopContext.currentProxy();
currentProxy.getCache();
3. 原理基本概括
①AOP无法代理内部this调用的方法,需要自己重新生成代理走缓存->AopContext.currentProxy(),单独使用无法找到代理对象,此时进行②;
②需要暴露当前代理->@EnableAspectJAutoProxy ( proxyTargetClass = true , exposeProxy = true )
本文地址:https://blog.csdn.net/u012725623/article/details/107669209
推荐阅读
-
@Cacheable缓存内部方法调用失效解决方法
-
ajax调用中ie缓存问题解决方法
-
SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法
-
ajax调用中ie缓存问题解决方法
-
ajax内部值外部调用不了的原因及解决方法
-
SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法
-
调用innerHTML之后onclick失效问题的解决方法_javascript技巧
-
定时器(setTimeout/setInterval)调用带参函数失效解决方法_javascript技巧
-
调用innerHTML之后onclick失效问题的解决方法_javascript技巧
-
ajax内部值外部调用不了的原因及解决方法