Я пытаюсь определить 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();
}
}