Pregunta

En primavera, quiero una expresión que coincida con un método con argumentos específicos.

Ahora mismo tengo esta expresión

     execution(* delete(..))

Pero quiero hacer coincidir argumentos específicos ya que hay 4 métodos de eliminación en la clase particular que estoy interesado.

Quiero algo como esto

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

Esto es lo que escribí y no está funcionando. Me estoy perdiendo de algo ?

¿Fue útil?

Solución

La sintaxis se ve correcta. Creo que te estás perdiendo un paréntesis final.

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

La razón por la que probablemente no sea tan obvio es que es parte del String de tu Pointcut anotación (suponiendo que esté utilizando el enfoque basado en anotaciones), por lo que si su IDE de elección no valida Pointcut Anotaciones, no arrojará un gran rojizo en tu cara.

Otros consejos

Lo hago de la siguiente manera:

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

Espero eso ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top