【发布时间】:2011-05-12 02:50:19
【问题描述】:
因此,我开始研究使用 AspectJ 在我的域中对象的状态发生变化时处理事件。
实际上,我想编写包含我域中所有 setter 方法的建议。调用通知时,它会检查正在设置的字段的初始值,运行 setter,然后在 setter 执行后检查值。如果值发生变化,它会向事件监听器触发一个事件,通知变化。
我使用了此处的教程:http://www.andrewewhite.net/wordpress/2010/03/17/aspectj-annotation-tutorial/,但我无法获得任何建议电话。请注意,我只是使用 LTW 方法来编织我的建议,而不是使用 AspectJ 语言编写建议并进行预编译。
我的 aop.xml(在我的测试套件的 META-INF 中)如下所示:
方面>
我创建的 Aspect 类如下所示:
包域.aop;
导入 org.aspectj.lang.JoinPoint;
导入 org.aspectj.lang.annotation.Aspect;
导入 org.aspectj.lang.annotation.Before;
@方面
公共类TestAspect
{
@Around("调用(* domain.*.set*(..))")
public void aroundSetMethods (JoinPoint jp)
{
System.out.println("aroundSetMethod 被调用");
}
}
当我运行我的测试用例时,我可以看到(通过设置断点)方法 (domain.Error.setTask ()) 被调用。我相信这应该会触发我的建议,但我从未进入过建议方法。
任何指向我在这里做错了什么的指针?
谢谢
【问题讨论】: