我想知道切入点中的以下含义
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 + ")");
}
目标和args在这里意味着什么?我不知道。
非常感谢
答案 0 :(得分:4)
让我们看看AspectJ guide。
目标执行对象是Type或Id类型的实例时目标(类型或ID)每个连接点
当参数是类型的实例或ID的类型时,args(Type或Id,...)每个连接点
在您的示例中,要匹配切入点,必须在FigureElement
个实例上调用该方法,并且有两个int
个参数。以target
和args
参数指定的名称表示可以在您的建议体内访问这些参数。
因此,您的切入点将所有对FigureElement.setXY
方法的调用与两个int
参数匹配,并允许您将匹配的实例作为fe
访问,将方法参数作为x
和{ {1}}。