Spring AOP 选择性通知, 定义【切入点】 , Advisor

 

<!-- 【前置通知】(方法前通知) `````````````【拦截器】 -->
<bean id="myMethodBeforeAdvice" class="aop.advice.MyMethodBeforeAdvice"/>

<!--  名称匹配方法切入点通知(相当于对advice进行包装,增加了定义切入点功能 -->
<bean id="beforeAdvisor" 
    class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
    <property name="advice" ref="myMethodBeforeAdvice"/>
    <property name="mappedNames">
        <list>
            <value>say*</value>     <!-- say 开头 的 方法 -->
        </list>
    </property>
</bean>

 

<!-- 代理对象 -->
<bean id="welcomeServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
    <!-- 代理接口集  -->
    <property name="proxyInterfaces">
        <list>
            <value>aop.service.WelcomeService</value>
        </list>
    </property>
    
    <!-- 目标对象  -->
    <property name="target" ref="welcomeServiceTarget"/>
    
    <!-- 拦截器名集 -->
    <property name="interceptorNames">
        <list>
            <value>beforeAdvisor</value><!-- 代替原来,未增强的  myMethodBeforeAdvice  -->
        </list>
    </property>
    
    <property name="proxyTargetClass" value="true"/>
</bean>

 

posted @ 2013-12-16 12:48  聆听自由  阅读(318)  评论(0编辑  收藏  举报