我有一个接口里面有很多方法,现在我想对某一个方法进行后置通知操作,我上网查了下看到配置文件是这样配置的:
<beans>  
    <bean id="after" class="spring.After"/>  
  
    <bean id="aop" class="org.springframework.aop.framework.ProxyFactoryBean">  
        <property name="proxyInterfaces" value="spring.Advice" />  
        <property name="interceptorNames">  
            <list>  
                <value>after</value>  
            </list>  
        </property>  
        <property name="target">  
            <bean class="spring.Target" />  
        </property>  
    </bean>  
</beans> 
这样配置是spring.Advice接口里面的所有方法都进行拦截,做了后置通知处理,现在能不能指定一个方法进行后置通知啊?我对spring理解不是很深,希望哪位大神能给我指定一下

解决方案 »

  1.   

    定义切入点嘛。如下所示:
    <bean id="runAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
      <!--  advice属性确定处理bean-->
      <property name="advice">
       <!-- 此处的处理bean定义采用嵌套bean,也可引用容器的另一个bean-->
       <bean class="com.qhit.fangMian.MyAfterAdvice"/>
      </property>
      <!--  patterns确定正则表达式模式-->
      <property name="patterns">
       <list>
        <!--  确定正则表达式列表-->
        <value>.*run.*</value>
       </list>
      </property>
     </bean>
      

  2.   

    http://topic.csdn.net/u/20091225/12/72f75087-099d-4405-bc94-bbc5e893a394.html请参考这个贴子楼主贴子代码完全正确呵呵,不懂再问
      

  3.   

    正解,但红色部分我想应该不是正则表达式模式,我想应该是spring的切点函数的模式。不知对不对?
      

  4.   


    我的配置文件是这样的:
    <beans>

          <bean id="createAfterAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
            <!-- 指定Advice -->
            <property name="advice">
                <bean class="cn.com.xx.xx.businessAfter.BusinessAfter" />
            </property>
           <property name="patterns" value=".*insertBusCollection.*" />
        </bean>
       <!-- 对aop进行配置 -->
         <bean id="aop" class="org.springframework.aop.framework.ProxyFactoryBean">  
             <!--  <property name="proxyInterfaces" value="cn.com.xx.xx.business.service.BusinessPageService" />  
               --><property name="interceptorNames">  
                 <list>  
                     <value>createAfterAdvisor</value>  
                 </list>  
             </property>  
             <property name="target" ref="busService"> 
             
             </property>  
         </bean>  
    </beans>
    在action的配置文件中这样配的<property name="busService" ref="aop">我的后置通知的类里面的方法怎么执行不了啊?