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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top