1. 確定所使用的Java版本和AspectJ的對(duì)應(yīng)關(guān)系
2.?下載AspectJ包
3. 安裝AspectJ
4. 添加AspectJ對(duì)應(yīng)的環(huán)境變量
5. AspectJ測(cè)試-簡(jiǎn)單終端測(cè)試
6. AspectJ測(cè)試-通過(guò)IDEA敲代碼測(cè)試
---------------------------------------詳細(xì)教程---------------------------------------
1. 確定所使用的Java版本和AspectJ的對(duì)應(yīng)關(guān)系

上圖來(lái)源于AspectJ和Java版本的兼容性列表(來(lái)源于aspect的官方github)?
2.?下載AspectJ包
?。?!自己找到所需要版本的AspectJ并下載即可。(本人使用的是Java17版本,所以是對(duì)應(yīng)安裝AspectJ 1.9.8)
下載鏈接1:?AspectJ下載鏈接【來(lái)源于Eclipse】
下載鏈接2:?AspectJ下載鏈接【來(lái)源于Github】
3. 安裝AspectJ
? ? ? ? 3.1 直接打開(kāi)AspectJ的下載路徑文件夾,雙擊進(jìn)行安裝。不出意外的話,mac系統(tǒng)應(yīng)該會(huì)提示macOS無(wú)法驗(yàn)證此App是否包含惡意軟件;
????????

? ? ? ? 3.2 這時(shí)候打開(kāi) 系統(tǒng)設(shè)置-隱私與安全性,選擇安全性下的仍要打開(kāi)進(jìn)行安裝;

? ? ? ? ?3.3 經(jīng)過(guò)3.2步驟后,會(huì)自動(dòng)彈出AspectJ的安裝窗口,以下開(kāi)始正式安裝:





其中,第1條提示的粗體黑色路徑所指示的文件一般是用于添加到自己的java項(xiàng)目中;
第2條提示的粗體黑色路徑是用于該路徑添加到自己的環(huán)境變量中(如~/.bash_profile);
最下面那條黑色粗體路徑是AspectJ的README,有需要可以自己看看
4. 添加AspectJ對(duì)應(yīng)的環(huán)境變量
? ? ? ? 4.1 打開(kāi)mac的terminal終端,輸入
sudo vi ~/.bash_profile
? ? ? ? 4.2 將光標(biāo)用“鍵盤(pán)下鍵”移動(dòng)到文件最下面一行,然后點(diǎn)擊“鍵盤(pán)i鍵”進(jìn)行輸入,參考自己AspectJ的安裝路徑bin路徑,本人路徑為:
export PATH=$PATH:/Users/xxxxx/aspectj1.9/bin
? ? ? ? 4.3 點(diǎn)擊“鍵盤(pán)esc鍵”退出vi編輯模式,并輸入:wq保存文件并退出vi;
? ? ? ? 4.4 在終端輸入以下指令,以更新環(huán)境變量配置。
source ~/.bash_profile
5. AspectJ測(cè)試-簡(jiǎn)單終端測(cè)試
? ? ? ? 5.1 簡(jiǎn)單終端(命令行)測(cè)試安裝是否成功,沒(méi)有提示指令無(wú)法識(shí)別即安裝AspectJ成功;
ajc

6. AspectJ測(cè)試-通過(guò)IDEA敲代碼測(cè)試
? ? ? ? 6.1 在IDEA中創(chuàng)建一個(gè)Java的Maven工程(此時(shí)筆者直接創(chuàng)建JavaWeb的Spring Web項(xiàng)目模版進(jìn)行測(cè)試)依次在IDEA中點(diǎn)擊File-New-Project;


? ? ? ? 6.2 在IDEA設(shè)置中Plugins添加AspectJ擴(kuò)展,依次打開(kāi)IntelliJ IDEA-Settings-Plugins,在搜索框輸入aspect并進(jìn)行搜索,點(diǎn)擊安裝AspectJ擴(kuò)展(即下圖紅框那個(gè)擴(kuò)展)。

????????6.3 在項(xiàng)目中分別創(chuàng)建如下圖所示的MyAspect.java和MyService.java文件,修改A10Application.java文件,并創(chuàng)建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進(jìn)行增強(qiáng)
*/
@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();
}
}
?項(xiàng)目結(jié)構(gòu)如下:

?????????6.4 將自己項(xiàng)目中aspectjrt.jar添加到項(xiàng)目jar包。在AspectJ安裝目錄下尋找aspectjrt.jar文件(其參考路徑為:你的AspectJ安裝路徑/lib/aspectjet.jar,筆者aspectjrt.jar文件路徑為/Users/xxxxx/aspectj1.9/lib),并將其拷貝到自己項(xiàng)目的lib文件夾

????????
? ? ? ? 6.5 設(shè)置ajc編譯器文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-509020.html

????????6.6 運(yùn)行項(xiàng)目的主Java文件,出現(xiàn)下圖所示結(jié)果即為AspectJ安裝測(cè)試通過(guò)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-509020.html

到了這里,關(guān)于在Mac上安裝Aspectj1.9.8(用于Java17)+IDEA的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!