@Cacheable缓存内部方法调用失效解决方法

4 篇文章 0 订阅

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 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值