https://juejin.cn/post/7322738137301090315?from=search-suggest#heading-37
Spring AOP的主要优势在于:
- 它提供了一种声明式的方法来分离系统的跨切面关注点。
- 它与Spring IoC容器紧密集成,可以很容易地将AOP用于任何由Spring管理的对象。
- 相对于其他AOP实现,它简单易用,不需要特殊的编译过程。
然而,Spring AOP也有一些局限性:
- 由于它是基于代理的,因此仅支持方法级别的连接点,不能像AspectJ那样在字段访问或构造函数调用时应用通知。
- Spring AOP的性能相对于AspectJ略低,因为它是在运行时通过代理实现的。
- 对于复杂的AOP场景,Spring AOP的表达能力可能不如AspectJ。
总的来说,Spring AOP是一个强大的工具,能够提供企业级Java应用所需的大多数AOP需求。与Spring其他功能的无缝集成使得开发者可以轻松地在应用程序中实现横切关注点,而不必担心应用程序的主要业务逻辑。