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 条评论
 下一页