我想用指定的注解(比如@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/