一尘不染

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

java

我想用指定的注释(例如@Monitor)监视所有类的所有公共方法(注意:注释在类级别)。可能的切入点是什么?注意:我正在使用@AspectJ样式的Spring AOP。


阅读 460

收藏
2020-03-21

共1个答案

一尘不染

你应该将类​​型切入点与方法切入点结合使用。

这些切入点将在标记为@Monitor的类中查找所有公共方法:

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

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

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

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

2020-03-21