AOP(二)

Spring的AOP本質是經過動態代理實現的,Spring中有2種動態代理的實現:spring

  1. JDK的動態代理
  2. CGLIB的動態代理

JDK的動態代理只能對實現了接口的類進行動態代理,而CGLIB沒有此限制代理

org.springframework.aop.framework.ProxyFactory將生成代理的任務委託給org.springframework.aop.framework.DefaultAopProxyFactory此類又進一步委託給org.springframework.aop.framework.JdkDynamicAopProxy

org.springframework.aop.framework.Cglib2AopProxy接口

addAdvice() 方法將傳入的advice包裝爲DefaultPointcutAdvisor,此類是PointcutAdvisor接口的標準實現,默認的切入點是全部的方法rem

能夠本身建立Adviso並經過addAdvisor()方法添加aop

ProxyFactory能夠建立多個代理類,每一個都有不一樣的切面;
removeAdvice()
removeAdvisor()
adviceIncluded()方法

相關文章
相關標籤/搜索