在 Java 企业级开发中,面向切面编程(AOP, Aspect-Oriented Programming)是解决横切关注点(如日志记录、事务管理、权限控制等)的核心技术。正如学习笔记中“18.2 AspectJ、Spring AOP”一节所提到的,在 AOP 的实际落地中,AspectJ 和 Spring AOP 是绕不开的两座大山。它们各自有着不同的定位和优势,共同构建了 Java 生态中强大的切面编程体系。
一、 AspectJ:语言级的 AOP 标杆
根据基础知识点,AspectJ 既是一个语言的规范,也是一个 AOP 的语言实现,是从 Java 语言中扩展而来的。
这就决定了 AspectJ 与普通的 Java 框架有着本质的区别。它不仅仅是一个工具库,更是一门专门为 AOP 设计的语言。AspectJ 引入了自己的关键字(如 aspect、pointcut、before、after 等),并通过专门的编译器(ajc)将切面代码织入(Weaving)到目标代码中。
正因为其语言级的深度支持,AspectJ 拥有极高的灵活性和强大的功能。它支持编译期织入、编译后织入以及加载期织入,几乎可以拦截 Java 程序中的任何执行点(包括方法调用、字段读写、构造器执行等)。因此,正如笔记中所评价的:AspectJ 是目前已知最好的、应用最广泛的 AOP 实现。 它为其他 AOP 框架树立了功能和性能的标杆。
订阅专栏 解锁全文

276

被折叠的 条评论
为什么被折叠?



