-----------------------问题原因-------------------
为什么能够切入目标对象,原理就是创建了代理类,在代理类中调用目标方法前后进行切入;假如代理对象是$proxy0,对于B方法$proxy0.B(),执行流程就是先记录日志再调用目标对象s的B方法,所以可以切入;但是A方法$proxy0.A(),只能对A方法增强,A里面调B的时候使用的是s目标对象s.B(),而不是$proxy0.B(),所以对B的切入无效,因为压根就没用代理对象去调用;
-----------------------解决-------------------
解决内部调用没有生效的几种方法:
2.1)bean自引用调用;
2.2)获取当前代理对象;
2.3)拆成独立的实现类,再来调用;