AOP接口请求监控.2

编程

该部分内容的简单翻译

常见的切面表达式

1. 所有公有方法的执行

execution(public * *(..))

2. 所有以set开头的公有方法的执行

execution(* set*(..))

3. AccountService接口下的所有方法的执行

execution(* com.xyz.service.AccountService.*(..))

4. com.xyz.service包下的所有方法的执行

execution(* com.xyz.service.*.*(..))

5. com.xyz.service包及其子包下的所有方法的执行

execution(* com.xyz.service..*.*(..))

6. 匹配com.xyz.service包下的所有类的所有方法(不含子包)

within(com.xyz.service.*)

7. com.xyz.service包和子包的所有方法

within(com.xyz.service..*)

8. 匹配AccountService的代理类(不支持通配符)

this(com.xyz.service.AccountService)

9. 目标对象实现AccountService接口的任何连接点(仅在Spring AOP中执行方法)

target(com.xyz.service.AccountService)

10. 任何采用单个参数的连接点(仅在Spring AOP中是方法执行),并且在运行时传递的参数为Serializable:

args(java.io.Serializable)

请注意,此示例中给出的切入点与以下内容不同execution(* *(java.io.Serializable)):如果在运行时传递的参数为Serializable,则args版本匹配;如果方法签名声明单个type参数,则执行版本匹配Serializable。

11. 目标对象具有@Transactional注释的任何连接点(仅在Spring AOP中执行方法)

@target(org.springframework.transaction.annotation.Transactional)

12. 目标对象的声明类型具有@Transactional注释的任何连接点(仅在Spring AOP中执行方法):

@within(org.springframework.transaction.annotation.Transactional)

13. 执行方法带有@Transactional注释的任何连接点(仅在Spring AOP中为方法执行)

@annotation(org.springframework.transaction.annotation.Transactional)

14. 任何采用单个参数的联接点(仅在Spring AOP中是方法执行),并且所传递的参数的运行时类型带有@Classified注释

@args(com.xyz.security.Classified)

15. 名为tradeService:的Spring bean上的任何连接点(仅在Spring AOP中执行方法)

bean(tradeService)

16. 名称与通配符表达式匹配的Spring bean上的任何连接点(仅在Spring AOP中是方法执行)*Service

bean(*Service)

参考

**AOP,AspectJ 实现统一接口耗时统计

————————————————

版权声明:本文为CSDN博主「lljliulljn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u010779348/article/details/52191079

**切面说明

————————————————

版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/w605283073/article/details/82999927

以上是 AOP接口请求监控.2 的全部内容, 来源链接: utcz.com/z/518016.html

回到顶部