面向方面的编程 (AOP) 通过以下方式补充面向对象编程 (OOP) 提供了另一种思考程序结构的方式。模块化的关键单元 在 OOP 中是类,而在 AOP 中,模块化的单位是方面。方面 实现跨领域关注点(如事务管理)的模块化 多种类型和对象。(这种关切通常被称为“跨领域”关切 在 AOP 文献中。
Spring 的关键组件之一是 AOP 框架。虽然春季 IoC container 不依赖于 AOP(这意味着如果你不想,你不需要使用 AOP to),AOP 补充了 Spring IoC,提供了一个非常强大的中间件解决方案。
AOP 在 Spring 框架中用于:
-
提供声明式企业服务。最重要的此类服务是声明式事务管理。
-
让用户实现自定义方面,用 AOP 补充他们对 OOP 的使用。
如果您只对通用声明性服务或其他预打包服务感兴趣 声明式中间件服务,如池化,你不需要直接使用 Spring AOP,并且可以跳过本章的大部分内容。 |