spring aop-注釈付きのすべてのメソッドのポイントカット
-
26-10-2019 - |
質問
私はポイントカットを定義しようとしています。 @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();
}
}
解決
このようなことはするべきです:
@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();
}
}
所属していません StackOverflow