我正在尝试将其他方法中的特定方法调用排除在拦截之外:
public Class A {
public void foo1() {...}
public void foo2() {
foo1();
}
}
我只想排除从foo2发出的foo1调用,而不是其他调用:someAObject.foo1()&应该包含someAobject.foo2()。
有谁知道如何使用spring aop做到这一点? 谢谢!
答案 0 :(得分:0)
这应该有效:
execution(* A.*(..)) && !execution(* A.foo2(..))
答案 1 :(得分:0)
我建议你停止使用spring,除非你可以为每个电话写两条建议,你可以在第一个和ThreadLocal<Boolean>
设置一个proceed
,并检查它第二个,不是proceed
,如果它的设置。非常丑陋的黑客。