Spring 的目标是使企业应用程序开发尽可能地简单和高效。这一理论的实例可以从 Spring 的 JDBC、ORM、JMX、依赖注入等方法,以及企业应用程序开发的其他许多重要领域中见到。Spring 还区分了使事情简单化和过分单纯化之间的差异。最不可思议的是同时提供了简单化和强大的功能。企业应用程序中复杂性的一个根源来自影响应用程序多个部分的特性和需求的实现。相关于这些特性的代码最终散布在应用程序代码中,使得它更难以添加、维护和理解。Spring 2.0 使得以模块化的方式实现这些特性变得更加简单,极大地简化了整体的应用程序代码,并且有时使得在实现没有它的情况下十分痛苦的编码需求变得易如反掌。
事务管理是影响应用程序多个部分的一个特性实例:一般来说所有的操作都在服务层。在 Spring 中解决这种需求的方式是通过使用 AOP。 Spring 2.0 在它对 AOP 的支持中提供了一个明显的简化,同时还提供了比 Spring 1.x 所提供的更多富有表现力的功能。这些改善之处主要来自两个主要的领域:通过使用 XML schema 极大地简化了配置,以及与 AspectJ 的整合带来了更好的富有表现力的功能和更简单的 advice 模型。
在本文中,作者将首先介绍在典型的企业应用程序中,Spring AOP 和 AspectJ 适用于什么地方,之后介绍在 2.0 中新的 Spring AOP 支持。大部分篇幅用来讲解企业应用程序中 AOP 的采用路线图,通过大量可以只用 AOP 实现的特性实例,但是用任何其他的方法进行实现都将非常困难。
评论