Spring後置通知實例

如下配置方式spring2.5和spring3.0同樣,新的版本中並無改變對於切面的調整:java

  
  
  
  
  1. package com.utils.spring.businessafter; 
  2.  
  3. import java.lang.reflect.Method; 
  4.  
  5. import org.apache.log4j.Logger; 
  6. import org.springframework.aop.AfterReturningAdvice; 
  7. import org.springframework.context.ApplicationContext; 
  8.  
  9. import com.winning.bi.domain.MRuleExe; 
  10. import com.winning.utils.Constant; 
  11.  
  12. public class BusinessAfter implements AfterReturningAdvice{ 
  13.     private final Logger logger = Logger.getLogger(BusinessAfter.class); 
  14.     private ApplicationContext applicationContext; 
  15.     public void afterReturning(Object returnValue, Method method,Object[] args, Object target) throws Throwable { 
  16.         applicationContext=Constant.SPRING_CONTAINER; 
  17.         //添加任務方法 
  18.         if ("exeMTRuleJob".equals(method.getName())) {  
  19.             MRuleExe mRuleExe=(MRuleExe)args[0]; //得到參數 
  20.             if(mRuleExe.getAutoExe()==Constant.TRUE){ //自定執行的任務 
  21.                 new AutoTaskExecuteUtil().addMRuleExe(mRuleExe); 
  22.             } 
  23.         } 
  24.         //刪除任務方法 
  25.         else if("deleteExe".equals(method.getName())){ 
  26.             MRuleExe mRuleExe=(MRuleExe)args[0]; //得到參數 
  27.             if(mRuleExe.getAutoExe()==Constant.TRUE){ //自定執行的任務 
  28.                 new AutoTaskExecuteUtil().delMRuleExe(mRuleExe); 
  29.             } 
  30.         } 
  31.     } 
  
  
  
  
  1.    <!-- spring後置通知 配置 --> 
  2. <bean id="after" class="com.utils.spring.businessafter.BusinessAfter"/> 
  3. <bean id="bussinessafter" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> 
  4.     <property name="patterns"> 
  5.         <list> 
  6.             <value>com.bi.service.impl.KettleServiceImpl\.exeMTRuleJob</value><!-- 添加任務方法 --> 
  7.             <value>com.bi.service.impl.MRuleExeServiceImpl\.deleteExe</value><!-- 刪除任務方法 --> 
  8.         </list> 
  9.     </property> 
  10.     <!-- 指定Advice --> 
  11.     <property name="advice"> 
  12.         <ref bean="after" /> 
  13.     </property> 
  14. </bean> 
  15. <bean id="businessaop" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> 
  16.     <property name="interceptorNames"> 
  17.         <list> 
  18.             <value>bussinessafter</value> 
  19.         </list> 
  20.     </property> 
  21.     <property name="beanNames"> 
  22.         <list> 
  23.           <value>kettleService</value> 
  24.           <value>mruleExeService</value> 
  25.         </list> 
  26.     </property> 
  27. </bean>
相關文章
相關標籤/搜索