私は自分のアスペクトJに新しいアドバイスを追加しようとしています.
public aspect Aspect11 {
pointcut namePC(String s, int i) : call (public String Simple.getName(String, int))&&args(s,i);
pointcut getData(int j) : get(public int Simple.trial)&&args(j);
after(String s, int i) : namePC(s, i) {
// this is the advice
System.out.println("Printing..." + s + " " + i);
System.out.println(thisJoinPoint.getSignature());
}
before(int j):getData(j)
{
System.out.println(j);
}
}
上記のコードでは、pointcut namePC() とそのアドバイスが既に追加されています。これは期待どおりに機能していました。
以下は私のSimple.javaです
public class Simple {
private String name = "Aman";
String home;
int trial;
public String getName(String s, int i) {
System.out.println("Hi in getName()" + s + " " + i);
return name;
}
public static void main(String args[]) {
Simple simple = new Simple();
simple.trial=8;
System.out.println("AA" + simple.getName("In Simple", 1));
}
}
新しいポイントカットとそのアドバイスを追加しようとすると:getData()、警告が表示されます:「Aspect11で定義されたアドバイスが適用されていません[Xlint:adviceDidNotMatch]」AspectJを初めて使用し、これを整理する方法がありません!!