문제

In Spring, I want an expression that matches a method with specific arguments.

Right now I have this expression

     execution(* delete(..))

But I want to match specific arguments since there are 4 delete methods in the particular class I am interested in.

I want something like this

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

This is what I wrote and is not working. Am I missing something ?

도움이 되었습니까?

해결책

The syntax looks correct. I believe you are missing a closing parenthesis.

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

The reason that it is probably not so obvious is that it is a part of the String of your Pointcut annotation (assuming you are using the annotation based approach), and so if your IDE of choice does not validate Pointcut annotations, it won't throw a big red squiggly in your face.

다른 팁

I do it the following way:

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

Hope it helps.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top