Spring AOP
2021-08-17 21:35:31 0 举报
Spring AOP加载流程图
作者其他创作
大纲/内容
调用ReflectiveMethodInvocation#proceed(),方法中调用invoke(),判断链路中配置的befor,after等,调对应的invoke()
JDK
JdkDynamicAopProxy
将配置的所有advised通知都封装到CglibAopFactory类中的DynanimcAdvisedInterceptor内部类中,然后调用其intercept()方法,使用new CglibMethodInvocation().proceed()方法调用
使用Proxy.newProxyInstance创建代理对象,创建完后调用invoke
CglibAopProxy
ProxyFactory
返回所有通知形成的一个List
使用Cglib代理
getCallback()
getProxy()
ReflectiveMethodInvocation
图例
默认使用JDK动态代理
Cglib代理
JDK代理
调用getInterceptorsAndDynamicInterceptionAdviceh获取调用链
Cglib
DefaultAdvicsorChainFactory
0 条评论
下一页