1. 确定所使用的Java版本和AspectJ的对应关系

2. 下载AspectJ包

3. 安装AspectJ

4. 添加AspectJ对应的环境变量

5. AspectJ测试-简单终端测试

6. AspectJ测试-通过IDEA敲代码测试

---------------------------------------详细教程---------------------------------------

1. 确定所使用的Java版本和AspectJ的对应关系

AspectJ版本和Java版本的兼容性对应图(Aspects and Java version cpmpatibility)

上图来源于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是否包含恶意软件;

        

mac软件安装安全提示

        3.2 这时候打开 系统设置-隐私与安全性,选择安全性下的仍要打开进行安装;

系统设置-隐私与安全性-安全性-点击仍要打开

         3.3 经过3.2步骤后,会自动弹出AspectJ的安装窗口,以下开始正式安装:

AspectJ安装界面1-介绍信息-点Next

AspectJ安装界面2-Java安装路径确认-没问题点Next(AspectJ会自动搜索Java安装路径,没找对的话可以自己修改)

AspectJ安装界面3-AspectJ安装路径确认-没问题点Install

AspectJ安装界面4-AspectJ安装完成

AspectJ安装界面5-AspectJ帮助信息提示

其中,第1条提示的粗体黑色路径所指示的文件一般是用于添加到自己的java项目中;

第2条提示的粗体黑色路径是用于该路径添加到自己的环境变量中(如~/.bash_profile);

最下面那条黑色粗体路径是AspectJ的README,有需要可以自己看看

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

ajc指令测试-输入ajc指令后出现如图所示即AspectJ安装成功

6. AspectJ测试-通过IDEA敲代码测试

        6.1 在IDEA中创建一个Java的Maven工程(此时笔者直接创建JavaWeb的Spring Web项目模版进行测试)依次在IDEA中点击File-New-Project;

Java的Maven创建过程1-输入项目相关信息

Java的Maven创建过程2-勾选Spring web支持

        6.2 在IDEA设置中Plugins添加AspectJ扩展,依次打开IntelliJ IDEA-Settings-Plugins,在搜索框输入aspect并进行搜索,点击安装AspectJ扩展(即下图红框那个扩展)。

在IDEA中添加对应Plugins-搜索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文件夹

aspectjrt.jar文件拷贝后的项目结构

        

        6.5 设置ajc编译器

在IDEA中设置ajc编译器-红框处要选择Ajc编译器,蓝框处要修改为AspectJ安装路径下的lib文件夹内的aspecttools.jar文件的绝对路径(作为参考,笔者aspecttools.jar文件路径参考为:/User/xxxxx/aspect1.9/lib/aspecttools.jar)

        6.6 运行项目的主Java文件,出现下图所示结果即为AspectJ安装测试通过

程序运行结果-出现红框所示,则表明测试成功

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: