我正在尝试向我的 aspectJ 添加一个新建议。
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);
}
}
在上面的代码中,已经添加了切入点 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 的新手,没有办法解决这个问题!!