Correspondant à pointcuts avec des arguments spécifiques
-
25-10-2019 - |
Question
Au printemps, je veux une expression qui correspond à une méthode avec des arguments spécifiques.
En ce moment j'ai cette expression
execution(* delete(..))
Mais je veux correspondre des arguments spécifiques car il y a 4 méthodes de suppression dans la classe particulière, je suis intéressé.
Je veux quelque chose comme ça
execution(* delete(com.xyz.A, com.xyz.B,java.lang.String )
est ce que je l'ai écrit et ne fonctionne pas. Am quelque chose que je manque?
La solution
La syntaxe semble correcte. Je crois que vous manque une parenthèse fermante.
@Pointcut("execution(* delete(com.xyz.A, com.xyz.B,java.lang.String))")
La raison pour laquelle il est probablement pas si évident est qu'il est une partie de la String
de votre annotation Pointcut
(en supposant que vous utilisez l'approche d'annotation), et donc si votre IDE de choix ne filtre pas les annotations Pointcut
, il ne sera pas jeter un grand rouge squiggly dans votre visage.
Autres conseils
Je fais la façon suivante:
@Pointcut("target(com.xyz.ClassName) && execution(* myMethod(com.xyz.A, com.xyz.B,java.lang.String))")
it helps.