1
와 함께 작동
제대로 작동하려면 몇 가지 문제가 있습니다. 어떤 이유로 나는 애스펙트가 적용되는 부분에 대해 정말로 일반적 일 때만 작동하는 것처럼 보입니다. 4 개의 포인트 컷/어드바이스 중 마지막으로 일치하는 것만을 출력하고 아무것도 출력하지 않습니다. 내가 여기서 무엇을 놓치고 있니?aspectj 포인트 컷/어드밴스가 *
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");
}
}
자바 클래스 :
public class Game {
public void addPlayer(Player player) {
System.out.println("inside class");
this.players.add(player);
}
}
출력 :
inside class
*(..):player has been added
. 내가 뭔가 올바르게 구성되어 있지 않은 것 같아요,하지만 그들 중 하나가 그것이 ajc와 컴파일하고 teh 측면을 읽고 말하는 일하고 있다는 사실 아닌가요? – dustins
새로운 프로젝트를 만들었고 게임, 플레이어 및 내 측면이 있었기 때문에 내 프로젝트에 반드시 있어야합니다. 제대로 작동했습니다. 고물. – dustins