建议在AspectJ中不起作用

时间:2018-07-17 08:34:59

标签: java aspectj

我试图创建简单的AspectJ项目。我有两节课:

public class Server {
    public static void main (String[] args) {
           System.out.println("Hello World!");
           testing();
    }

    public static void testing() {
           System.out.println("Hello there");
    }
}


@Aspect
public class AspectTest {
      @Pointcut("execution(* *(..))")
      public void all() {
      }

      @Before("all()")
      public void executee(JoinPoint j1) {
           System.out.println("Hey before!");
      }

      @After("all()")
      public void executee2(JoinPoint j1) {
           System.out.println("Hey After!");
      }
}

但是简单的AspectTest类不提供任何输出。控制台仅打印“ Hello World!”。和“ Hello there”,而AspectJ则指向每个包中的每个方法。

1 个答案:

答案 0 :(得分:2)

该方面很可能没有被编译(使用ajc)或被编织(使用aspectjweaver代理)。您可以查看Chapter 5. Load-Time Weaving上的文档:

  

AspectJ 5随附了许多启用加载时编织的加载时编织代理。这些代理及其配置取决于执行环境。本章稍后将讨论支持的环境的配置。

     

使用Java 5 JVMTI,您可以为JVM指定-javaagent:pathto / aspectjweaver.jar选项。