spring aop环绕通知
2016-10-24 17:41
411 查看
【Spring实战】—— 9 AOP环绕通知
假如有这么一个场景,需要统计某个方法执行的时间,如何做呢?
典型的会想到在方法执行前记录时间,方法执行后再次记录,得出运行的时间。
如果采用Spring的AOP,仅仅使用前置和后置方法是无法做到的,因为他们无法共享变量。这样通过环绕通知,就可以快捷的实现。
首先在切面通知类中声明环绕通知类:
public void watchPerformance(ProceedingJoinPoint joinpoint){ try{ System.out.println("begin!"); long start = System.currentTimeMillis(); joinpoint.proceed(); long end = System.currentTimeMillis(); System.out.println("end! performance took "+(end-start)+" milliseconds"); }catch(Throwable e){ System.out.println("eee!We want our money back!"); } }
在bean.xml配置文件中配置aop:around,锁定方法:
<aop:around pointcut-ref="performance" method="watchPerformance"/>
这样执行的结果如下:
The audience is taking their seats. The audience is turning off their cellphones begin! Instrumentalist age:25 Playing Jingle Bells:TOOT TOOT TOOT CLAP CLAP CLAP end! performance took 95 milliseconds
因此可以看出AOP执行的过程如下:
before() around() 执行方法() after/throw() around()
相关文章推荐
- 【Spring实战】—— 9 AOP环绕通知
- Spring AOP--返回通知,异常通知和环绕通知(顶)
- SpringAOPLab--环绕通知1
- SpringAOPLab--环绕通知2
- 【Spring实战】—— 9 AOP环绕通知
- [原创]java WEB学习笔记106:Spring学习---AOP的通知 :前置通知,后置通知,返回通知,异常通知,环绕通知
- spring aop 环绕通知 基于@aspectJ
- springAOP基于xml的配置前后环绕通知
- SpringAOP:环绕通知Around
- springaop术语概述及aop中常见通知的实现(前置,后置,环绕,异常)
- Spring AOP学习笔记(3):AOP返回通知&异常通知&环绕通知
- Spring-AOP-通知-环绕通知
- spring_AOP前置通知&后置通知&返回通知&环绕通知
- Spring AOP--返回通知,异常通知和环绕通知
- 14Spring_AOP编程(AspectJ)_环绕通知
- Spring4笔记----AOP的环绕通知、切面的优先级以及重用切入点定义
- Spring AOP环绕通知小例子
- Spring AOP 面向切面编程 常见通知实现(前置,后置,环绕,异常)
- Spring 通过来AOP 实现前置,环绕,异常通知,注解
- Spring 通过来AOP 实现前置,环绕,异常通知,注解(转)