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