Spring 使用 AOP+注解 来记录方法执行时间

一直以来都知道Spring支持一种叫做面向切面编程(AOP)的东西,但是一直都没有自己尝试使用过. 直到最近为了Debug方法,记录使用时间猛然发现AOP正好适合使用在这个场景下.为了灵活的使用AOP,我选择了使用注解来作为标记,当某个特定的注解被使用的时候将会自动触发这个切面.

1.注解的编写

将注解设置为运行时RetentionPolicy.RUNTIME, 在编译时不会丢失这个注解信息.

设置注解主体为方法和类.

注解内部保存一个displayArgs的boolean变量,用于判断是否输出传入参数.

2. 编写AOP类

AOP的切入点为使用了Timed的方法或者类.

方法上面的注解优先级比类上面的高,可以在方法上使用注解来覆盖掉类上注解的值.

扫描二维码关注公众号,回复: 1089026 查看本文章

演示:

在类上面增加注解,并设置displayArgs为true

《Spring 使用 AOP+注解 来记录方法执行时间》

在某个方式上覆盖注解冰将displayArgs设置为false

《Spring 使用 AOP+注解 来记录方法执行时间》

运行tomcat,查看日志

《Spring 使用 AOP+注解 来记录方法执行时间》

结果和期望中的一样.

https://www.jzbk.org/archives/423.html

猜你喜欢

转载自aoyouzi.iteye.com/blog/2395142