接上一篇博客:https://blog.csdn.net/qq_43605444/article/details/122029896?spm=1001.2014.3001.5502
七、使用 Spring 的面向切面编程
面向切面编程 (AOP)
通过提供另一种思考程序结构的方式来补充面向对象编程 (OOP)。 OOP 中模块化的关键单位是类,而 AOP 中模块化的单位是方面。 方面能够实现跨越多种类型和对象的关注点(例如事务管理)的模块化。 (这种关注点在 AOP 文献中通常被称为“横切”关注点。)
Spring 的关键组件之一是 AOP 框架。 尽管 Spring IoC 容器不依赖于 AOP(这意味着如果您不想使用 AOP,则不需要使用 AOP),但 AOP 补充了 Spring IoC 以提供非常强大的中间件解决方案。
Spring AOP 与 AspectJ 切入点
- Spring 通过使用基于模式的方法或 @AspectJ 注解样式提供了编写自定义切面的简单而强大的方法。 这两种风格都提供了完全类型化的通知和 AspectJ 切入点语言的使用,同时仍然使用 Spring AOP 进行编织。
- 本章讨论基于模式 和 @AspectJ 的 AOP 支持。 较低级别的 AOP 支持将在下一章中讨论。
AOP 在 Spring 框架中用于:
- 提供声明式企业服务。 最重要的此类服务是声明式事务管理。
- 让用户实现自定义切面