Spring 2.5 RC1 发布 - 引入新的配置方法

工程 | Juergen Hoeller | 2007 年 10 月 24 日 | ...

正如你们中的一些人已经注意到的,Spring 2.5 RC1 终于在周一发布,等待您进行测试!Spring 2.5 在许多方面都是一个完成 Spring 2.0 任务的版本:为 Java 1.4 和 Java 5 提供最灵活和最全面的配置模型。 Spring 2.5 特别关注对 Java 5 的全面支持,引入了各种进一步的注释选项。我想借此机会指出此版本背后的统一主题

Spring 2.5 允许便捷的外部化配置,同时保持尽可能简洁。 这是建立在 Spring 2.0 对 XML 模式命名空间的支持之上的,Spring 2.5 引入了新的“context”和“jms”配置命名空间。 后者是 Spring 配置命名空间可以提供的附加价值的一个特别好的例子——如果您正在使用 Spring 2.0 风格的消息驱动对象,绝对值得采用! 此外,Spring 还允许在不涉及 XML 的情况下进行编程式引导(如果需要); 我们确保为这种引导风格提供 Spring 2.5 的所有优点。

作为一个核心主题,Spring 2.5 为应用程序组件中的配置注释提供全面支持。 这是在 Spring 2.0 以 @Required、@Transactional、@ManagedResource 用于 JMX 和 JPA 的 @PersistenceContext / @PersistenceUnit 开始的基础上进行的。 Spring 2.5 支持 JSR 250 的 @PostConstruct(用于初始化方法)、@PreDestroy(用于销毁方法)和 @Resource(用于注入命名的托管对象),以及 JAX-WS 2.0 的 @WebServiceRef(用于注入 Web 服务客户端视图)和 @EJB(用于注入会话 bean 客户端视图)。 此外,Spring 2.5 提供了一个配置注释来统治它们:@Autowired(用于类型驱动的自动装配,可以选择与限定符注释结合使用,以从一组匹配的候选项中选择特定对象)。

Spring 2.5 在 Web 控制器方面更进一步:新引入的 @RequestMapping、@RequestParam 和 @ModelAttribute 注释允许编写带注释的 Web MVC 控制器,而无需实现特定的接口或从特定的基类派生,完全基于注释来映射到特定的请求路径。 这本质上是下一代的优秀旧 MultiActionController 方法,也能够以非常灵活的方式处理表单。 当然,作为一流的 Spring 管理对象,这些控制器可以使用上述核心生命周期和注入注释,例如 @Autowired... Spring 2.5 中修订后的 PetClinic 示例应用程序显示了这些设施的使用,PetClinic 的所有 Web 控制器现在都以注释风格实现。 看看它!

Spring 2.5 还引入了新的基于注释的 TestContext 框架用于集成测试,支持 JUnit 3.8、JUnit 4.4 和 TestNG。这是一种引人注目的替代方案,可以替代 Spring 2.0 用于 JUnit 3.8 的基类,支持 Spring 2.5 的核心配置注释(例如 @Autowired)用于测试类,并通过注释提供灵活的测试上下文配置。 它功能强大、灵活且松散耦合:Spring 风格的上下文管理应用于集成测试领域。

作为注释使用的最先进级别,Spring 2.5 允许使用刻板印象注释(例如 @Repository、@Service、@Controller 或通用 @Component)自动检测类路径中带注释的组件。 这允许您完全避免显式的 XML bean 定义,指定包中的带注释的组件会被隐式注册。 这可以用于特定目的,例如自动检测 Web 层中的控制器,而服务层组件仍然是显式定义的。

请注意,Spring 2.5 支持任何类型的托管组件的相同配置注释:Spring 定义的 DAO、服务 bean、Web 控制器; 通过扫描类路径检测到的组件; 由 AspectJ 配置器切面配置的 @Configurable 对象; 由测试上下文框架运行的测试类。 例如,所有这些组件都可以使用 @Autowired 进行注入,并且在所有这些不同的组件类型中具有一致的语义。

综上所述,请注意 Spring 2.5 当然仍然支持“经典”Spring 配置方法作为一等公民。 配置注释是一种可以不同级别采用的选项:从组件类中的配置“提示”,补充 XML bean 定义,到通过注释表达其整个配置的自给自足的组件。 或者当然完全没有注释:如果您喜欢外部化配置的架构优势,或者 Java 1.4 上明显的首选选项,这是一种完全可行的方法。

获取 Spring 新闻资讯

通过 Spring 新闻资讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看所有