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