Spring AOP应用总结--AfterReturningAdvice

Spring AOP可以方便地监控方法执行情况,可以用来记录系统日志。以下是通过after通知来记录指定方法的执行情况。

通知类:SysLogAfterAdvice

java 代码
  1. public class SysLogAfterAdvice implements AfterReturningAdvice {   
  2. public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {   
  3.     //实现代码   
  4.     }   
  5. }  

在该类中记录需要监听的方法执行情况,形成系统日志。

关键在于配置文件。

xml 代码
  1.    <bean id="id1_Service" class="org.springframework.aop.framework.ProxyFactoryBean">  
  2.        <property name="target">  
  3.            <ref local="beanTarge" />  
  4.        property>  
  5.         <property name="interceptorNames">  
  6.             <list>  
  7.             <value>logAfterAdvisorvalue>  
  8.         list>  
  9.         property>           
  10.    bean>  
  11. <bean id="logAfterAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">  
  12.      <property name="advice"><ref local="sysLogAfterAdvice" />property>  
  13.      <property name="pattern">  
  14.          <value>.*do.*value>  
  15.      property>  
  16.    bean>  
  17.     <bean id ="sysLogAfterAdvice" class="com.jiuqi.mcasv2.logic.sysmng.SysLogAfterAdvice" >  
  18.         <property name="logMngBO"><ref bean="logMngBO"/>property>  
  19.     bean>   

id1_Service中属性interceptorNames指定进行监听器列表,其次序是有影响的。

监听器logAfterAdvisor将通知及切入点组合在一起,指明对以do开头的方法发送通知sysLogAfterAdvice进行拦截处理。

其它类型的通知,配置方式同上,只要改变相应通知类就行了。其它可用通知类型包括before/around/after throwing等类型。

around通知是万金油型,对方法的执行前后情况都可拦截,通用。

但是建议用最适合的通知类型,而不是任何情况都用around通知,虽然它也能解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值