gpt4 book ai didi

java - spectj 切入点/建议仅适用于 *

转载 作者:行者123 更新时间:2023-12-01 05:15:16 31 4
gpt4 key购买 nike

我在让各个方面正常工作时遇到一些问题。由于某种原因,它们似乎只有在我真正了解该方面的应用位置时才起作用。在四个切入点/建议中,只有最后一个匹配并输出任何内容。我在这里缺少什么?

public aspect VerboseAspect
{
after(Game game) returning:
call(* Game.addPlayer(Player))
&& target(game) {
System.out.println("addPlayer(Player): player has been added");
}

after(Game game) returning:
call(* Game.addPlayer(..))
&& target(game) {
System.out.println("addPlayer(..): player has been added");
}

after(Game game) returning:
call(* Game.*(Player))
&& target(game) {
System.out.println("*(Player):player has been added");
}

after(Game game) returning:
call(* Game.*(..))
&& target(game) {
System.out.println("*(..):player has been added");
}
}

Java 类:

public class Game {
public void addPlayer(Player player) {
System.out.println("inside class");
this.players.add(player);
}
}

输出:

inside class
*(..):player has been added

最佳答案

(评论,但太长了。)

您使用的 AspectJ 版本是什么?你 build 得怎么样? Ant ?马文?其他?

它在 IntelliJ 中对我来说工作得很好;运行这个:

public static void main(String[] args) {
Game g = new Game();
g.addPlayer(new Player());
}

产品:

inside class
addPlayer(Player): player has been added
addPlayer(..): player has been added
*(Player):player has been added
*(..):player has been added

关于java - spectj 切入点/建议仅适用于 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11336594/

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