Я пытаюсь определить pointcut, который поймает каждый метод, который аннотируется с помощью (т.е.) @CatchThis
. Это моя собственная аннотация.
Кроме того, я хотел бы иметь доступ к первому аргументу метода, который будет иметь тип Long
. Могут быть и другие аргументы, но я не забочусь о них.
ИЗМЕНИТЬ
Это то, что я имею прямо сейчас. Я не знаю, как передать первый параметр метода, аннотированный с помощью @CatchThis
.
@Aspect
public class MyAspect {
@Pointcut(value = "execution(public * *(..))")
public void anyPublicMethod() {
}
@Around("anyPublicMethod() && @annotation(catchThis)")
public Object logAction(ProceedingJoinPoint pjp, CatchThis catchThis) throws Throwable {
return pjp.proceed();
}
}