pointcut con argomenti specifici corrispondenti
-
25-10-2019 - |
Domanda
In primavera, voglio un'espressione che corrisponde a un metodo con argomenti specifici.
In questo momento ho questa espressione
execution(* delete(..))
Ma voglio abbinare argomenti specifici in quanto ci sono 4 metodi di eliminazione nella classe particolare mi interessa.
Voglio qualcosa di simile
execution(* delete(com.xyz.A, com.xyz.B,java.lang.String )
Questo è quello che ho scritto e non sta funzionando. Mi sto perdendo qualcosa?
Soluzione
La sintassi sembra corretto. Credo che vi manca una parentesi di chiusura.
@Pointcut("execution(* delete(com.xyz.A, com.xyz.B,java.lang.String))")
Il motivo per cui probabilmente non è così evidente è che si tratta di una parte del String
della vostra annotazione Pointcut
(supponendo che si sta utilizzando l'approccio basato annotazione), e quindi se il vostro IDE di scelta non fa annotazioni Pointcut
validare, esso non lanciare una grande rossa ondulata in faccia.
Altri suggerimenti
Lo faccio seguente modo:
@Pointcut("target(com.xyz.ClassName) && execution(* myMethod(com.xyz.A, com.xyz.B,java.lang.String))")
La speranza aiuta.