Spring AOP Einige Klassen ausschließen
Ich verwende Spring AspectJ zum Protokollieren der Ausführungsstatistik von Methoden. Ich möchte jedoch einige Klassen und Methoden davon ausschließen, ohne den pointcut-Ausdruck zu ändern.
Um bestimmte Methoden auszuschließen, habe ich eine benutzerdefinierte Anmerkung erstellt, die ich zum Herausfiltern verwende. Allerdings kann ich mit Klassen nicht dasselbe machen.
Hier ist meine Aspektdefinition -
@Around("execution(* com.foo.bar.web.controller.*.*(..)) "
+ "&& !@annotation(com.foo.bar.util.NoLogging)")
public Object log(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
// logging logic here
}
NoLogging
ist meine benutzerdefinierte Anmerkung zum Ausschließen von Methoden.
Wie kann ich also bestimmte Klassen herausfiltern, ohne den Pointcut-Ausdruck zu ändern und ohne neue Advisor-Funktionen hinzuzufügen?