动态代理对象运行分析-Jdk版
下图是代理对象调用示意图(引自Spring官方文档):
接下来,我们看下Jdk版代理对象是如何运行的。时序图如下:
提示:
ReflectiveMethodInvocation是AOP的核心---方法执行。
动态代理对象运行分析-Jdk版时序图如下:
接下来我们看下,如何执行织入逻辑调用链,并最终执行目标方法的。ReflectiveMethodInvocation该类太重要了,大家要用心去看下面这个时序图:
下面这个图是ReflectiveMethodInvocation运行时形象表示。其中红点表示目标方法,执行时从圆外沿半径往圆心执行,每个圈表示一个织入逻辑,目标方法执行完后,原路返回。
ReflectiveMethodInvocation部分源代码截图:
相信大家对Jdk版动态代理实现的AOP已经了然于心,空的时候多读几遍会更好,那我们接下来再看看:动态代理对象运行分析-Cglib版。
快速导航: