本文将要参考 https://blog.youkuaiyun.com/zhengchao1991/article/details/53391244
https://blog.youkuaiyun.com/m0_37556444/article/details/83117181
https://www.eclipse.org/aspectj/doc/released/adk15notebook/annotations-pointcuts-and-advice.html
https://www.eclipse.org/aspectj/docs.php
我们知道AspectJ是一个静态代理框架,那么我们需要知道代码织入点,以及织入的具体内容分别是什么才能对代码进行编译时的织入。
根据上述的描述,我们使用maven作为本次工程的构建工具。直接开始进行整正题——
public class LogService {
public void log() {
System.out.println("hellos!");
}
}
我们这里准备一个日志打印服务,我们要做的事情就是在这个log方法的运行前后分别织入一段代码逻辑。
这里需要aspectJ的jar包,通过maven的方式导入pom文件中——
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
获取到之后为了直接使用mvn作为编译工具,将aspectj的织入的内容直接编译到目标类文件中,需要在pom文件中build模块中添加以下的数据——
<plugin>
<groupId>org.codehaus.mojo