【问题标题】:Aspect oriented question - Pointcut面向方面的问题 - 切入点
【发布时间】:2011-06-06 23:54:19
【问题描述】:

我想知道以下在切入点中的含义

after(FigureElement fe, int x, int y) returning:
        call(void FigureElement.setXY(int, int))
        && target(fe)
        && args(x, y) {
    System.out.println(fe + " moved to (" + x + ", " + y + ")");
}

target 和 args 在这里是什么意思?我不知道。

非常感谢

【问题讨论】:

    标签: java aop aspectj


    【解决方案1】:

    让我们看看AspectJ guide

    target(Type or Id)当目标执行对象是 Type 或 Id 的类型的实例时的每个连接点

    args(Type or Id, ...)当参数是 Types 的实例或 Ids 的类型时的每个连接点

    在您的示例中,要匹配切入点,必须在 FigureElement 实例上调用该方法并具有两个 int 参数。以targetargs 参数给出的名称意味着这些参数可以在您的建议正文中访问。

    因此,您的切入点将所有对 FigureElement.setXY 方法的调用与两个 int 参数匹配,并允许您以 fe 访问匹配的实例,并以 xy 访问方法参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 2019-01-29
      • 2010-10-26
      相关资源
      最近更新 更多