设计模式-代理模式-AspectJ静态代理、aop框架

介绍

静态代理的缺点:需要手动对每个方法编写代理逻辑,工作量大、繁琐、复杂

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集成