AspectJ
AspectJ 是一个基于 Java 语言的 AOP 框架,提供了强大的 AOP 功能,其他很多 AOP 框架都借鉴或采纳其中的一些思想。
AspectJ 是 Java 语言的一个 AOP 实现,其主要包括两个部分:第一个部分定义了如何表达、定义 AOP 编程中的语法规范,通过这套语言规范,我们可以方便地用 AOP 来解决 Java 语言中存在的交叉关注点问题;另一个部分是工具部分,包括编译器、调试工具等。
AspectJ 是最早、功能比较强大的 AOP 实现之一,对整套 AOP 机制都有较好的实现,很多其他语言的 AOP 实现,也借鉴或采纳了 AspectJ 中很多设计。在 Java 领域,AspectJ 中的很多语法结构基本上已成为 AOP 领域的标准。
安装AspectJ
下载AspectJ
安装 AspectJ 首先要到 AspectJ官网下载一个可执行的Jar包。
即可下载到一个可执行的 JAR 包,我下的是 aspectj-1.8.14.jar,使用 java -jar aspectj-1.8.14.jar
命令,
多次单击“Next”按钮, 并选择合适的安装目录,即可成功安装 AspectJ。
在安装了 AspectJ 之后,在其安装目录下,可以看到如下的文件结构:
├─bin // 该路径下存放了 aj、aj5、ajc、ajdoc、ajbrowser 等命令。 │ ├─aj.bat │ ├─aj5.bat │ ├─ajbrowser │ ├─ajbrowser.bat │ ├─ajc // 其中 ajc 命令最常用,它的作用类似于 javac,用于对普通 Java 类进行编译时增强。 │ ├─ajc.bat │ ├─ajdoc │ ├─ajdoc.bat ├─doc // 该路径下存放了AspectJ的使用说明、参考手册、API文档等文档。 ├─lib // 该路径下的4个Jar文件是AspectJ的核心类库 │ ├─aspectjrt.jar │ ├─aspectjtools.jar │ ├─aspectjweaver.jar │ ├─org.aspectj.matcher.jar ├─LICENSE-AspectJ.html 相关授权文件 └─README-AspectJ.html 复制代码
环境变量配置
CLASSPATH:.;D:\Java_About\Java_component\aspectj-1.8.14\lib\aspectjrt.jar; Path:D:\Java_About\Java_component\aspectj-1.8.14\bin 复制代码
测试是否安装成功用 ajc 命令:
IDEA下配置AspectJ
虽然 AspectJ 是 Eclipse 基金组织的开源项目,而且提供了 Eclipse 的 AJDT 插件(AspectJ Development Tools)来开发 AspectJ 应用,但 AspectJ 并不是只能在 Eclipse 中开发。由于我使用的是 IntelliJ IDEA 2019.1.2 版本,所以这里介绍IDEA中如何开发 AspectJ。
只有专业版(Ultimate)的 IntelliJ IDEA 才支持 AspectJ 的开发,而且 IDEA 也提供了 官方文档。
激活AspectJ支持插件
在专业版 IDEA 中开发 AspectJ,需要确保下述插件被激活:
- Spring AOP/@AspectJ
- AspectJ Support
由于本人使用的是 IDEA 2019.1.3 版本,所以同网上的说法不太一样,配置如下:
这两个插件在 2019 版本已经存在,因此不需要另外搜索进行安装。
添加aspectjrt.jar依赖或Maven依赖
添加aspectjrt.jar依赖
在项目中添加 aspectjrt.jar
依赖,aspectjrt.jar
即 AspectJ 安装目录中lib
目录下的 jar 包。
接着进行如下操作,将该 Jar 包添加进项目依赖中:
- 打开
Project Structure
对话框(Ctrl+Shift+Alt+S)。 - 对应于创建项目级别的或者IDE级别的库,分别选择 Libraries 或者 Global Libraries。
- 点击+号并选择 java。
- 在弹出的对话框中,选择刚才我们添加进项目的lib目录下的 aspectjrt.jar 文件。
- 最后点击OK按钮即可。