1. 确定所使用的Java版本和AspectJ的对应关系
2. 下载AspectJ包
3. 安装AspectJ
4. 添加AspectJ对应的环境变量
5. AspectJ测试-简单终端测试
6. AspectJ测试-通过IDEA敲代码测试
---------------------------------------详细教程---------------------------------------
1. 确定所使用的Java版本和AspectJ的对应关系
上图来源于AspectJ和Java版本的兼容性列表(来源于aspect的官方github)
2. 下载AspectJ包
!!!自己找到所需要版本的AspectJ并下载即可。(本人使用的是Java17版本,所以是对应安装AspectJ 1.9.8)
下载链接1: AspectJ下载链接【来源于Eclipse】
下载链接2: AspectJ下载链接【来源于Github】
3. 安装AspectJ
3.1 直接打开AspectJ的下载路径文件夹,双击进行安装。不出意外的话,mac系统应该会提示macOS无法验证此App是否包含恶意软件;
3.2 这时候打开 系统设置-隐私与安全性,选择安全性下的仍要打开进行安装;
3.3 经过3.2步骤后,会自动弹出AspectJ的安装窗口,以下开始正式安装:
4. 添加AspectJ对应的环境变量
4.1 打开mac的terminal终端,输入
sudo vi ~/.bash_profile
4.2 将光标用“键盘下键”移动到文件最下面一行,然后点击“键盘i键”进行输入,参考自己AspectJ的安装路径bin路径,本人路径为:
export PATH=$PATH:/Users/xxxxx/aspectj1.9/bin
4.3 点击“键盘esc键”退出vi编辑模式,并输入:wq保存文件并退出vi;
4.4 在终端输入以下指令,以更新环境变量配置。
source ~/.bash_profile
5. AspectJ测试-简单终端测试
5.1 简单终端(命令行)测试安装是否成功,没有提示指令无法识别即安装AspectJ成功;
ajc
6. AspectJ测试-通过IDEA敲代码测试
6.1 在IDEA中创建一个Java的Maven工程(此时笔者直接创建JavaWeb的Spring Web项目模版进行测试)依次在IDEA中点击File-New-Project;
6.2 在IDEA设置中Plugins添加AspectJ扩展,依次打开IntelliJ IDEA-Settings-Plugins,在搜索框输入aspect并进行搜索,点击安装AspectJ扩展(即下图红框那个扩展)。
6.3 在项目中分别创建如下图所示的MyAspect.java和MyService.java文件,修改A10Application.java文件,并创建lib文件夹;
MyAspect.java文件如下:
// MyAspect.java
package com.itheima.aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect // 注意此切面并未被Spring管理
public class MyAspect {
@Before("execution(* com.itheima.service.MyService.foo())")
public void before(){
System.out.println("before()");
}
}
MyService.java文件如下:
// MyService.java
package com.itheima.service;
import org.springframework.stereotype.Service;
@Service
public class MyService {
public void foo(){
System.out.println("foo()");
}
}
A10Application.java文件如下:
// A10Application.java
package com.itheima;
import com.itheima.service.MyService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
/*
使用aspectj进行增强
*/
@SpringBootApplication
public class A10Application {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(A10Application1.class, args);
MyService service = context.getBean(MyService.class);
System.out.println("service class: " + service.getClass());;
service.foo();
context.close();
}
}
项目结构如下:
6.4 将自己项目中aspectjrt.jar添加到项目jar包。在AspectJ安装目录下寻找aspectjrt.jar文件(其参考路径为:你的AspectJ安装路径/lib/aspectjet.jar,笔者aspectjrt.jar文件路径为/Users/xxxxx/aspectj1.9/lib),并将其拷贝到自己项目的lib文件夹
6.5 设置ajc编译器
6.6 运行项目的主Java文件,出现下图所示结果即为AspectJ安装测试通过