java - 具有特定注释的类的所有方法的@AspectJ 切入点

标签 java aop aspectj spring-aop

我想用指定的注解(比如@Monitor)监控所有类的所有公共(public)方法(注意:注解在类级别)。这可能是什么切入点? 注意:我使用的是@AspectJ 风格的 Spring AOP。

最佳答案

您应该将类​​型切入点与方法切入点结合起来。

这些切入点将用于查找标有 @Monitor 注释的类中的所有公共(public)方法:

@Pointcut("within(@org.rejeev.Monitor *)")
public void beanAnnotatedWithMonitor() {}

@Pointcut("execution(public * *(..))")
public void publicMethod() {}

@Pointcut("publicMethod() && beanAnnotatedWithMonitor()")
public void publicMethodInsideAClassMarkedWithAtMonitor() {}

建议结合前两个的最后一个切入点,你就完成了!

如果你有兴趣,我写了 cheat sheet此处使用@AspectJ 样式,并带有相应的example document在这里。

关于java - 具有特定注释的类的所有方法的@AspectJ 切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2011089/

相关文章:

java - 杂交 : language model not found

spring-boot - Tomcat 8、Spring Boot、@Configurable LoadTimeWeaving 没有 -javaagent?

java - 是否存在基于 AspectJ 的分析器包?

aop - 一些 AOP 术语的由来

java - 在 Spring 中为 Controller 操作生成 URL

java - 从文本文件读取并存储特定值

java - 无法启动Hadoop守护程序:内存不足

c# - CaSTLe Windsor 在组件已注册后使用选择器应用拦截器

c# - 面向方面编程的替代方案

c# - PostSharp - il 编织 - 想法