为什么服务器抱怨aspectOf丢失?
我正在尝试在AspectJ中注入Spring bean,就像下面显示的代码一样,无论如何我的服务器(WAS Liberty Profile)一直在抱怨方法aspectOf缺失。 我可以知道如何解决这个问题?
应用程序的context.xml
上下文文件A.XML
JAVA代码
@Aspect public class LoggingAspect { ... }
在连接方面类时,这是一个常见错误。 这意味着您的方面类(在本例中为LoggingAspect
)尚未转换为可应用的方面。
将类编织成方面的两种方法是使用AJDT Eclipse插件或Maven AspectJ编译器插件 。
编织方面有三种方法:
- 编译时编织 :通过专用的aspectj编译器编译目标源或方面类;
- 编译后编织 :向已编译的类注入方面指令(可应用于JAR文件)
- 加载时编织 :在类加载期间向字节代码注入方面指令,即加载已检测的类而不是“原始”类;
在将一个方面类应用于类之前,首先需要将其“编织”到一个方面。
编织的方面类将添加这些静态方法 。
AspectJ需要编织 – 方面类和目标类。
编织你的方面课程
- aspect类将注入aspectOf()和hasAspect()方法 。
编织目标类
- 添加对这些方法的调用。
问题是你的AspectJ编织过程不起作用。 所以你在普通的Java类而不是AspectJ类上调用aspectOf
方法。
一种简单的测试方法:
- 使用Eclipse插件AJDT等工具编织
- 使用Spring创建一个简单的JUnit测试。
- 最后让它在WAS中运行。