使用 Spring 进行面向方面编程

面向方面编程 (AOP) 通过以下方式补充面向对象编程 (OOP) 提供了另一种思考程序结构的方法。模块化的关键单元 在 OOP 中是类,而在 AOP 中,模块化单元是方面。方面 实现跨关注点(例如事务管理)的模块化 多个类型和对象。(此类担忧通常被称为“横切”担忧 在 AOP 文献中。spring-doc.cn

Spring 的关键组件之一是 AOP 框架。虽然 Spring IoC 容器不依赖于 AOP(这意味着如果您不想,则不需要使用 AOP to),AOP 补充了 Spring IoC,提供了一个非常强大的中间件解决方案。spring-doc.cn

Spring AOP 与 AspectJ 切入点

Spring 通过使用基于 schema 的方法或 @AspectJ Comments 样式,提供了编写自定义切面的简单而强大的方法。 这两种样式都提供了完全类型的建议和 AspectJ 切入点语言的使用 同时仍然使用 Spring AOP 进行编织。spring-doc.cn

本章讨论基于 Schema 和 @AspectJ 的 AOP 支持。 下一章将讨论较低级别的 AOP 支持。spring-doc.cn

AOP 在 Spring Framework 中用于:spring-doc.cn

如果您只对通用的声明式服务或其他预打包的服务感兴趣 声明式中间件服务(如池)中,你不需要直接使用 Spring AOP,并且可以跳过本章的大部分内容。