我有以下切入点:
@Before(value="execution(* datasync.polling.Poller+.*(..))")
public void beforePoll() {
logger.info("DOING THIS");
}
以及以下抽象类:
package datasync.polling;
import datasync.principle;
public abstract class Poller<P extends Principle> {
protected P principle;
public Poller(P principle) {
this.principle = principle;
}
@Override
public String toString() {
return "Poller for " + principle.toString();
}
public abstract P doPoll();
}
我的切入点仅在我调用Poller.toString()而不是Poller.doPoll()时适用。我希望它适用于在Poller类或其子类中采用任意数量参数的任何方法。为什么不是这样?
最佳答案
表达式中可能缺少点
@Before(value="execution(* datasync.polling.Poller+.*(..))")
@Before(value="execution(* datasync.polling.Poller+..*(..))")
^