- Spring AOP
- 使用简单
- 仅支持对Spring容器管理的Bean的增强,非Spring容器管理的对象(如业务POJO等)无法被拦截
- 仅支持对方法级别的增强,无法对成员变量、getter&setter等进行增强
- 动态代理类在运行时生成
- 无法直接对方法内部调用进行增强
- 无需引入额外的依赖和插件
- AspectJ
- 使用相对复杂
- 可以对项目中所有对象进行增强
- 可以对类的方法、成员变量、getter&setter等都进行增强
- 动态代理类在编译时生成
- 可直接对内部调用进行增强
- 需要引入AspectJ的依赖和编译、织入插件
Spring AOP VS AspectJ
最新推荐文章于 2023-05-23 12:21:54 发布