Aspectj
2018年7月23日小于 1 分钟
Aspectj
配置
启用IDEA版本的aspectj插件
Project Setting –> Compiler –> Java Compiler设置编译器为Ajc
Path to Ajc compiler 设定
aspjectjtools.jar
的路径,下载地址:https://mvnrepository.com/artifact/org.aspectj/aspectjtools项目需要引用
aspectjrt.jar
,maven库地址:https://mvnrepository.com/artifact/org.aspectj/aspectjrt
maven 引入
org.aspectj
aspectjtools
1.9.1
org.aspectj
aspectjrt
1.9.1
org.aspectj
aspectjweaver
1.9.1
代码
- HelloWorld.java
public class HelloWorld {
public void test(){
System.out.println("hello aspectj");
}
}
- App.java
public class App {
public static void main(String[] args) {
HelloWorld h = new HelloWorld();
h.test();
}
}
- MethodAspect.java
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class MethodAspect {
@Pointcut("execution(* test())")
public void excute(){
}
@Before("excute()")
public void beforedo(){
System.out.println("before");
}
}
运行日志
before
hello aspectj
运行嵌入
demo的代码不变,但是 VM 需要增加
-javaagent:~/aspectjweaver.jar
以及指定目录下的配置文件 META-INF/aop.xml
如果需要在不修改原有业务基础上针对已有项目可以使用运行嵌入,相对而言,编译嵌入在部署上更方便。
参考资料
https://www.eclipse.org/aspectj/doc/released/progguide/index.html
贡献者
binbin.hou