DefaultAdvisorAutoProxyCreator

DefaultAdvisorAutoProxyCreator这个类功能更为强大,这个类的奇妙之处是他实现了BeanProcessor接口,当ApplicationContext读如所有的Bean配置信息后,这个类将扫描上下文,寻找所有的Advistor(一个Advisor是一个切入点和一个通知的组成),将这些Advisor应用到所有符合切入点的Bean中

需要注意的是,和BeanNameAutoProxyCreator相同,我们需要用ApplicationContext获得Bean
package AutoProxyTwo;

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;
//前置通知
public class WelcomeAdvice implements MethodBeforeAdvice ...{

    public void before(Method method, Object[] args, Object obj)
            throws Throwable ...{
        
        System.out.println("Hello welcome to bye ");

    }

}


配置文件
<bean id="WelcomeAdvice" class="AutoProxyTwo.WelcomeAdvice">
 </bean>
 
 <!-- 自动代理所有的advisor -->
<bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>
   
 <bean id="advisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
     <property name="pattern">
       <value>.*sell.+</value>  <!-- 业务实现方法名匹配 -->
     </property>
     <property name="advice">
       <ref bean="WelcomeAdvice"/>
     </property>
</bean>

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