Spring AOP исключить некоторые классы
Я использую Spring AspectJ для регистрации статистики выполнения методов, однако я хочу исключить некоторые классы и методы из этого, не меняя выражения pointcut.
Чтобы исключить определенные методы, я создал пользовательскую аннотацию, которую я использую для фильтрации. Однако я не могу сделать то же самое с классами.
Вот мое определение аспекта -
@Around("execution(* com.foo.bar.web.controller.*.*(..)) "
+ "&& !@annotation(com.foo.bar.util.NoLogging)")
public Object log(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
// logging logic here
}
NoLogging
моя пользовательская аннотация для исключения методов.
Итак, как я могу отфильтровать определенные классы без изменения выражения pointcut и без добавления новых советников?