Это вызывается перед любым методом, аргумент которого помечен @Validation
, я думаю, это то, что вы хотели:
@Before("execution(* *(.., @Validation (*), ..)) && args(.., toVerify)")
public void validate(final JoinPoint joinPoint, final Object toVerify) {
}
Если вам не нужно значение параметра, просто удалите аргумент && ...
part и method.
@Before("execution(* *(.., @Validation (*), ..)) && args(.., toVerify)")
| | | | | | | | | | | |
1 2 3 4 5 6 7 8 9 10 11 12
- совет называется до точка соединения
- метод сопоставления выполнение точка соединения
- видимость метода , соответствует любому (общедоступный, частный и т. Д.)
- имя метода , соответствующее любому
- в случае, если ваш аргумент не единственный, он может быть между другими аргументами (не помечены
@Validation
)
- аннотация , которую вы ищете
- типы аргументов для аннотации
- см. 5.
- до объединить выражения
- сделать аргумент доступным для вашего метода
- как в 5 и 8, это может быть не первый аргумент
- имя аргумента , такое же, как в сигнатуре метода (
Object toVerify
)
Будьте осторожны, если у вас есть методы с несколькими параметрами, некоторые аннотированные, некоторые нет, и другие комбинации - не уверен, что это всегда будет работать.