问题描述:
类A中有个方法B,方法B去调用类A中的另一个方法C,现在想用aop去拦截这个C方法,发现无法拦截。
由于博主学术不精,钻研的不深,说不太清楚为什么,反正是一些关于底层代理的问题。这里就直接给出解决方法。
1.改变调用C方法的写法:
`
// handlerApConfigMod(msg_json);//原来是直接调用另一个方法,改为下面这种写法
((AcUpdataHandler) AopContext.currentProxy()).handlerApConfigMod(msg_json);//AcUpdataHandler是当前类名
`
2.SpringBoot启动类中加一个注解
@EnableAspectJAutoProxy(exposeProxy = true)
这样就可以解决问题了。
原文链接:Spring AOP无法拦截内部方法调用