Сопоставление точек с конкретными аргументами
-
25-10-2019 - |
Вопрос
Весной я хочу выражение, которое соответствует методу с конкретными аргументами.
Прямо сейчас у меня есть это выражение
execution(* delete(..))
Но я хочу соответствовать конкретным аргументам, так как в конкретном классе есть 4 метода удаления.
Я хочу что -то подобное
execution(* delete(com.xyz.A, com.xyz.B,java.lang.String )
Это то, что я написал, и не работаю. Я что-то упускаю ?
Решение
Синтаксис выглядит правильно. Я считаю, что вам не хватает заключительной скобки.
@Pointcut("execution(* delete(com.xyz.A, com.xyz.B,java.lang.String))")
Причина, по которой это, вероятно, не так очевидно, заключается в том, что это часть String
вашей Pointcut
Аннотация (при условии, что вы используете подход, основанный на аннотациях), и поэтому, если вы не подтверждаете ваш выбор IDE. Pointcut
Аннотации, это не бросит большой красный в лицо.
Другие советы
Я делаю это следующим образом:
@Pointcut("target(com.xyz.ClassName) && execution(* myMethod(com.xyz.A, com.xyz.B,java.lang.String))")
Надеюсь, поможет.