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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage