1.处理AOP配置的通知基本步骤:
(1).获取AOP配置的通知Advice:
从上一篇博客《创建AOP代理对象并对目标对象切面拦截》对Spring中采用JDK和CGLIB两种方式创建AOP动态代理的源码分析中,我们了解到,在AOP动态代理对象的回调方法中,都需要使用以下方式获取AOP配置的通知,并将获取到的通知和目标对象、代理对象等一起封装为ReflectiveMethodInvocation对象:
(2).创建ReflectiveMethodInvocation对象:
a.创建CglibMethodInvocation对象:
CglibMethodInvocation继承ReflectiveMethodInvocation类,在创建时首先调用父类的初始化方法。
b.创建ReflectiveMethodInvocation对象:
(3).处理AOP配置的通知器:
Spring通过调用ReflectiveMethodInvocation类来处理AOP配置的通知,CglibMethodInvocation继承ReflectiveMethodInvocation,因此JDK和CGLIB方式都是通过调用ReflectiveMethodInvocation的proceed()方法来处