我在使用SpringAOP + AspectJ建立日誌記錄方面時遇到了一些麻煩。我希望在使用@Loggable批註註釋類或方法時觸發「Around」方法。以下是我的建議代碼:AspectJ OR運算符似乎不起作用
@Around(value = "execution(* *(..)) && target(bean) && @annotation(loggable)", argnames "bean, loggable")
public void test1(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
@Around(value = "execution(* *(..)) && target(bean) && @within(loggable)", argnames "bean, loggable")
public void test2(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
@Around(value = "execution(* *(..)) && target(bean) && (@annotation(loggable) || @within(loggable))", argnames "bean, loggable")
public void test3(ProceedingJoinPoint method, Object bean, Loggable loggable) { }
test1和test2失火。 test3沒有,這是我真正想要的。任何想法爲什麼這可能是?