gpt4 book ai didi

java - Spring AOP 切入点不适用于抽象方法

转载 作者:行者123 更新时间:2023-11-29 09:16:24 32 4
gpt4 key购买 nike

我有以下切入点:

@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+..*(..))")
^

关于java - Spring AOP 切入点不适用于抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193283/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com