建议中关于以前建议的java信息
假设我们有一个具有以下两种方法的类:
public String getA() {
return "A";
}
public String getAB() {
return getA() + "B";
}
我有一个建议,切入点两种方法:
@Before(...)
public void beforePointCut() {
}
如果调用方法getA()
,则切入点将被调用一次
当我调用方法getAB()
时,切入点被调用两次,因为这个方法也需要在内部调用getA()
我想要的是在调用方法getAB()
时只调用一次通知。可能吗?我不想将建议分成两个建议,因为我有数百个方法,其中许多方法相互调用
# 1 楼答案
我想你需要的是
cflowbelow(...)
。从AspectJ documentation开始:您需要将
!cflowbelow(beforePointcut())
添加到切入点表达式中,如下所示: