面向方面的问题——切入点
我想知道切入点中以下内容意味着什么
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 在这里意味着什么?我不知道。
非常感谢
i'm wondering what the following means in a pointcut
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 + ")");
}
what does target and args mean here? i've no idea.
Many thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
让我们看看AspectJ 指南。
在您的示例中,为了匹配切入点,必须在
FigureElement
实例上调用该方法,并具有两个int
参数。作为target
和args
参数给出的名称意味着这些参数可以在您的建议正文中访问。因此,您的切入点将使用两个
int
参数匹配对FigureElement.setXY
方法的所有调用,并让您能够以fe
和方法参数的形式访问匹配的实例作为x
和y
。Let's look to the AspectJ guide.
In your example, for pointcut to match, the method must be called on
FigureElement
instances and have twoint
arguments. Names given astarget
andargs
parameters means that those parameters are accessible inside your advice body.So, your pointcut matches all calls to
FigureElement.setXY
method with twoint
arguments and gives you access to the matched instance asfe
and method arguments asx
andy
.