Java 为什么服务器抱怨缺少aspectOf?

Java 为什么服务器抱怨缺少aspectOf?,java,spring,aop,aspectj,Java,Spring,Aop,Aspectj,我目前正试图在AspectJ中注入Springbean,就像下面所示的代码一样,不管怎样,我一直在抱怨服务器(WAS Liberty Profile)缺少aspectOf方法。我可以知道如何解决这个问题吗 应用程序上下文.xml <aop:aspectj-autoproxy/> <import resource="/context-file-A.xml"/> <bean id="loggingAspect" class="com.huahsin.LoggingAs

我目前正试图在AspectJ中注入Springbean,就像下面所示的代码一样,不管怎样,我一直在抱怨服务器(WAS Liberty Profile)缺少aspectOf方法。我可以知道如何解决这个问题吗

应用程序上下文.xml

<aop:aspectj-autoproxy/>
<import resource="/context-file-A.xml"/>
<bean id="loggingAspect" class="com.huahsin.LoggingAspect" factory-method="aspectOf">

问题是AspectJ编织过程不起作用。因此,您正在对普通Java类而不是AspectJ类调用
aspectOf
方法

一种简单的测试方法:

  • 使用Eclipse插件之类的工具进行编织
  • 使用Spring创建一个简单的JUnit测试
  • 终于让它在里面工作了

  • 这是连接方面类时的常见错误。这意味着您的方面类(在本例中为
    LoggingAspect
    )尚未转换为可应用的方面

    将类编织成方面的两种方法是使用或

    有3种方法可以编织方面:

    • 编译时编织:通过专用的aspectj编译器编译目标源或方面类
    • 编译后编织:向已编译的类注入方面指令(可应用于JAR文件)
    • 加载时间编织:在类加载期间向字节码注入方面指令,即加载插入指令的类而不是“原始”类
    在将方面类应用于类之前,首先需要将其“编织”到方面中


    将添加一个编织的方面类。

    AspectJ需要同时编织你的方面类和目标类

    编织你的方面类
    • 方面类将被注入
    编织目标类
    • 向这些方法添加调用

    是否存在方法方面?您正在将其设置为工厂方法。根据文档,它不是必需的,因为它是由Spring在内部创建的。我可以知道如何“编织”我的LoggingAspect类吗?我运行的是一个web应用程序,而不是JAVA控制台,你能和我分享一下我如何做到这一点的知识吗?你使用什么工具/插件来进行实际的编织?以下是(关于如何设置方面的相关指南)[
    @Aspect
    public class LoggingAspect {
       ...
    }