小编Jus*_*ion的帖子

Aspectj Pointcut用于在带注释的字段上匹配公共方法调用

我想写一个与注释字段上的公共方法执行相匹配的切入点.这怎么可能不起作用.get(@Important)按预期(单独)工作,但它当然会匹配对该字段的所有访问.我想将此限制为仅公共方法执行.

这有可能吗?我没有编译错误,但另一方面它似乎没有工作..


public class Counter {
  private int count = 0;

  public void add(int value) {
    count = count + value;
  }
}

public class Visitors {
  @Important
  Counter counter = new Counter()

  public void increaseCounter() {
    counter.add(1);
  }
}
Run Code Online (Sandbox Code Playgroud)

作品:

@Pointcut(value = "get(@Important * *)")
void testPointCut() {
}
Run Code Online (Sandbox Code Playgroud)

不起作用:

@Pointcut(value = "get(@Important * *) && execution(public * *(..))")
void testPointCut() {
}
Run Code Online (Sandbox Code Playgroud)

java aop aspectj

8
推荐指数
1
解决办法
3651
查看次数

标签 统计

aop ×1

aspectj ×1

java ×1