|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
使用 Spring 进行面向切面编程
面向切面编程(AOP)通过提供另一种思考程序结构的方式,对面向对象编程(OOP)进行了补充。在 OOP 中,模块化的基本单元是类,而在 AOP 中,模块化的基本单元是切面(aspect)。切面能够将横跨多个类型和对象的关注点(例如事务管理)进行模块化。(在 AOP 文献中,这类关注点通常被称为“横切”关注点。)
Spring 的关键组件之一是 AOP 框架。虽然 Spring IoC 容器并不依赖于 AOP(这意味着如果你不想使用 AOP,就无需使用),但 AOP 与 Spring IoC 相辅相成,共同提供了一个功能强大的中间件解决方案。
AOP 在 Spring 框架中用于:
-
提供声明式的企业级服务。其中最重要的服务是 声明式事务管理。
-
让用户实现自定义切面,以 AOP 补充其对 OOP 的使用。
| 如果你仅对通用的声明式服务或其他预封装的声明式中间件服务(例如池化)感兴趣,那么你无需直接使用 Spring AOP,可以跳过本章的大部分内容。 |