介绍
静态代理的缺点:需要手动对每个方法编写代理逻辑,工作量大、繁琐、复杂
AspectJ在编译时,织入代码,不需要手动实现,减轻工作量
AspectJ是一个基于Java语言的AOP框架,它提供了强大的AOP功能,经常作为AOP框架使用
官方网址:https://eclipse.dev/aspectj/
优点
可以增强任何类,任何方法,包括(final,static修饰)
spring
AspectJ是独立的框架,不是spring的一部分
Spring 2.0以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致
使用
- 单独使用,需要使用编译器ajc
- 被其他框架集成,如:被spring集成