我正在使用 Spring AspectJ 来记录方法执行统计信息,但是,我想在不更改切入点表达式的情况下从中排除一些类和方法。
为了排除某些方法,我创建了一个自定义注释,用于过滤掉。但是我无法对课程做同样的事情。
这是我的方面定义-
@Around("execution(* com.foo.bar.web.controller.*.*(..)) "
+ "&& !@annotation(com.foo.bar.util.NoLogging)")
public Object log(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
// logging logic here
}
NoLogging
是我排除方法的自定义注释。
那么如何在不更改切入点表达式和不添加新顾问的情况下过滤掉某些类呢?