Spring框架中的Pointcut如何在内部工作

dea*_*ool 4 java reflection aop spring spring-aop

我只是想知道,PointcutSpring框架内部如何工作.它如何知道接下来要执行的方法(然后它在方法执行之前/之后完成它的工作)?它以某种方式使用反射吗?即使我在Pointcut定义中放置了一个调试点,调试器也没有点击它.

Her*_*eri 5

它通过代理您的预期方法来实现.对方法的调用将替换为对代理方法的调用.代理方法首先执行before-Annotations,然后调用原始方法,然后执行after-Annotations.

代理方法是syntetic,它不会出现在您的代码中,因此您无法添加断点.