Spring 笔记 AOP

=====================================================================
//Advisor
< ... class="...Advisor">

    <proterty name="advice">
         ....
    </proterty>

    <property name="pointcut">
         ....
    </property>
</...>

//Intercerper
....

//advice
  ....

//代理工厂类中proxyFactory -------- org.springframework.aop.framework.ProxyFactoryBean
< ... name="interceptorNames">
     Advice  ----- 所有方法
     Advisor ------ 根据 Advisor中的Pointcut
            Advice
            Pointcut
     Intercepter  ---- 所有方法
</...>
==================================================================
引入(添加方法)
org.springframework.aop.IntroductionInterceptor.
org.springframework.aop.support.DelegatingIntroductionInterceptor

代理工厂类中proxyFactory
<... name="proxyInterfaces">
<value>引入接口全名</value>
</...>

注意,自动代理工厂类中,没有proxyInterfaces属性,所以就不能用引入。


===================================================================
自动代理 ---- 没有proxyInterfaces属性,因此无法用于引入
<...class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="beanNames">
       ....
    </...>
    <property name="interceptorNames">
    </...>
</...>

//实现了BeanPostProcessor接口,会主动找类型为Advisor(包括Advice 和 Pointcut)的类,然后应用它们
<...class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">

</...>

你可能感兴趣的:(spring,AOP)