我正在尝试定义一个切入点,该切入点将捕获用(ie)注释的每个方法@CatchThis。这是我自己的注释。
@CatchThis
此外,我想访问该方法的第一个参数,该参数将是Long类型。也许还有其他争论,但我不在乎。
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(); } }
这样的事情应该做:
@Aspect public class MyAspect{ @Pointcut(value="execution(public * *(..))") public void anyPublicMethod() { } @Around("anyPublicMethod() && @annotation(catchThis) && args(.., Long ,..)") public Object logAction( ProceedingJoinPoint pjp, CatchThis catchThis, Long long) throws Throwable { return pjp.proceed(); } }