Frage

Im Frühjahr möchte ich einen Ausdruck, der einer Methode mit spezifischen Argumenten entspricht.

Im Moment habe ich diesen Ausdruck

     execution(* delete(..))

Aber ich möchte bestimmte Argumente entsprechen, da in der jeweiligen Klasse, an denen ich interessiert bin, 4 Löschmethoden gibt.

Ich möchte so etwas

       execution(* delete(com.xyz.A, com.xyz.B,java.lang.String )

Das habe ich geschrieben und funktioniert nicht. Vermisse ich etwas?

War es hilfreich?

Lösung

Die Syntax sieht richtig aus. Ich glaube, Sie vermissen eine abschließende Klammer.

@Pointcut("execution(* delete(com.xyz.A, com.xyz.B,java.lang.String))")

Der Grund, warum es wahrscheinlich nicht so offensichtlich ist, ist, dass es ein Teil der ist String von dir Pointcut Annotation (vorausgesetzt, Sie verwenden den Annotationsansatz), und wenn Ihre Wahl der Wahl nicht bestätigt wird Pointcut Annotationen, es wird kein großes rotes Schnörkel in Ihr Gesicht werfen.

Andere Tipps

Ich mache es auf folgende Weise:

@Pointcut("target(com.xyz.ClassName) && execution(* myMethod(com.xyz.A, com.xyz.B,java.lang.String))")

Ich hoffe es hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top