使用Spring进行面向切面编程
面向切面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP)。在OOP中,模块化的关键单元是类,而在AOP中,模块化的单元是切面。切面使得能够将横跨多个类型和对象的关注点(如事务管理)进行模块化。(在AOP文献中,这些关注点通常被称为“横切关注点”)。
Spring的一个关键组件是AOP框架。虽然Spring IoC容器不依赖于AOP(也就是说,如果你不想使用AOP,你不需要使用它),但AOP与Spring IoC结合使用可以提供一个非常强大的中间件解决方案。
Spring框架中使用AOP来实现以下功能:
-
提供声明式企业服务。其中最重要的服务是声明式事务管理。
-
让用户实现自定义切面,以AOP补充他们对OOP的使用。
如果您只对通用的声明式服务或其他预打包的声明式中间件服务(如连接池)感兴趣,您无需直接使用Spring AOP,可以跳过本章的大部分内容。 |