Spring 3.1 M1: 引入 FeatureSpecification 支持

工程 | Chris Beams | 2011年2月17日 | ...

更新:本文档中描述的 FeatureSpecification 功能已在 Spring Framework 3.1 M2 中移除,转而支持 @Enable* 注解。更多信息请参阅 3.1 M2 公告

介绍

在本系列 先前几篇 博文 中,我简要介绍了新的 @Profile 注解如何与 @Configuration 类结合使用,以利用 Spring 的 Bean 定义配置文件。今天,我们将探讨 Spring 3.1 中代码配置方面的全新功能:FeatureSpecification及其相关支持。

我准备了一个示例项目来配合本文。请访问 https://github.com/cbeams/spring-3.1-featurespec,并遵循 README 中的说明…

本周 Spring:2011 年 2 月 15 日

工程 | Josh Long | 2011 年 2 月 16 日 | ...

上周我们见证了创纪录的数量……好吧,不说别的,就是创纪录!首先,Spring 项目负责人兼万事通 Juergen Hoeller 举办了一场网络研讨会,介绍了 Spring 3.1 的新功能,参加人数创下纪录。接着,仿佛这还不够,第二天,Spring 3.1 的第一个里程碑版本发布,下载量也创下纪录。这已经够了。我不知道你怎么想,但我本可以就此打住。然后,在过去的一周里,我猜其他 Spring 项目的新版本发布数量也创下了纪录!最后,昨天,毫无疑问是为了应对所有这些纪录级别的活动,SpringSource 博客的访问量达到了前所未有的纪录!总而言之,Spring 3.1 里程碑的狂热,众多新项目,以及一如既往的健康社区支持(干得漂亮,团队!)。

 </p> 
      <li>Hot on the heels of Juergen's Spring 3.1 webinar, Chris Beams got the ball rolling on the  first three   of many  posts on the numerous new features in Spring 3.1. 
    	
    	<a href="http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/">
    

    第一篇文章总体上介绍了 Spring 3.1 M1。第二篇文章 介绍了 Spring 3.1 的“Profiles”功能,该功能允许您使用Environments 按环境划分您的 Beans。第三篇文章介绍了Environment 抽象的统一属性管理功能。

    	  </li>
    
    
    <li>
    	Matt Raible has put…

GORM for MongoDB:新里程碑,更丰富的体验

工程 | Graeme Rocher | 2011年2月15日 | ...

去年我们在 GORM 中引入了对 MongoDB 的支持(以及许多其他GORM实现),并受到了社区的极大欢迎。我们收到了大量的反馈,今天我们很高兴地宣布发布一个新版本(里程碑 2),该版本解决了我们收到的一些反馈。

嵌入式文档支持

排名第一的请求功能是嵌套文档支持,在此版本中我们对此进行了显着改进。现在您可以使用 GORM 中的标准嵌入式映射来嵌入其他域

class Person {
  String firstName
  String lastName
  Address address…

Spring 3.1 M1:统一属性管理

工程 | Chris Beams | 2011年2月15日 | ...

在本系列 前两篇 博文 中,我介绍了 Bean 定义配置文件功能,以及它如何与 Spring 3.1 M1 中新增的Environment 抽象相关联。今天我们将探讨 Environment 的第二个方面——它如何简化配置属性管理的问题。

理解属性源

Spring 的 Environment 抽象在可配置的属性源层级结构上提供了搜索操作。为了充分解释,请考虑以下内容


ApplicationContext ctx = new GenericApplicationContext();
Environment env = ctx.getEnvironment();
boolean containsFoo = env.containsProperty…

Spring 3.1 M1: 引入 @Profile

工程 | Chris Beams | 2011 年 2 月 14 日 | ...

介绍

在我 之前关于 Spring 3.1 M1 的发布公告的帖子 中,我讨论了在使用 Spring <beans/> XML 配置容器时应用的新*bean 定义 profiles* 功能。今天我们将介绍新的 @Profile 注解,并了解如何在不使用 XML 而使用 @Configuration 类时应用此相同功能。在此过程中,我们将涵盖一些设计 @Configuration 类的最佳实践。

回顾 @Configuration

对于不熟悉 @Configuration 类的用户,您可以将它们视为 Spring <beans/> XML 文件的纯 Java 等价物。我们之前已经 博文 讨论 这个功能集,并且参考文档 对此进行了很好的介绍。如果您需要了解…,可能需要回顾一下这些资源。

Spring Framework 3.1 M1 已发布

工程 | Chris Beams | 2011年2月11日 | ...

Spring 3.1 的第一个里程碑版本刚刚发布[1],本文将启动一系列帖子,我将和其他团队成员一起介绍每个主要功能。即使在第一个里程碑版本中,也有很多内容值得讨论!

  • Bean 定义配置文件
  • 通过 Spring 新的 Environment 抽象统一属性管理
  • 增强基于 Java 的配置,使用 @Feature 方法
  • 扩展的 MVC 命名空间支持和基于 Java 的配置等效项
  • RestTemplate API 的流式支持和新的拦截模型
  • 全面的缓存支持
  • 新的 c: XML 命名空间,用于简洁地配置构造函数注入

今天我将介绍第一项——我们称之为*bean 定义 profiles* 的新功能。我们最常收到的请求之一是提供一个核心容器机制,允许在不同环境中注册不同的 bean。“环境”一词对不同的用户可能意味着不同的东西,但一个典型的场景可能是仅在将应用程序部署到性能环境时注册监控基础结构,或者为客户 A 与客户 B 的部署注册自定义 bean 实现。也许最常见的情况是在开发中针对独立数据源,而在 QA 或生产环境中从 JNDI 中查找相同的数据源。Bean 定义 profiles 代表了一种通用方法来满足此类用例,我们将在下面的示例中探讨后者用例。

通过示例动手实践

我开发了一个小型示例来配合本文,您现在可以花点时间看看它(如果不行也没关系;您不需要代码也能阅读下面的内容)。只需遵循 https://github.com/cbeams/spring-3.1-profiles-xml 上的 README 中的说明即可。如果您不熟悉 Git,README 中有说明…

开始使用 Spring Data JPA

工程 | Oliver Drotbohm | 2011年2月10日 | ...

随着 Spring Data JPA 项目的第一个里程碑版本的发布,我想快速介绍一下它的功能。您可能知道,Spring 框架提供了对构建基于 JPA 的数据访问层支持。那么 Spring Data JPA 在此基础上增加了什么呢?为了回答这个问题,我想从使用纯 JPA + Spring 实现的示例域的数据访问组件开始,并指出有待改进的方面。完成这些之后,我将重构实现以使用 Spring Data JPA 的功能来解决这些问题…

Spring Android and Maven (Part 2)

工程 | Roy Clarkson | 2011年2月9日 | ...

《Spring Android and Maven (Part 1)》中,我介绍了如何使用Maven从命令行构建Android应用程序。在这篇文章中,我将向您展示如何从Eclipse IDE使用Maven依赖管理来构建Android应用程序。该应用程序还将展示本周发布的Spring Android 1.0.0.M2中的最新功能。

概述

Maven Android Plugin 允许您使用 Maven 构建 Android 应用程序并受益于依赖管理。Google 的 Android Development Tools (ADT) 插件允许您在 Eclipse IDE 中开发和构建 Android 应用程序。要在 Eclipse 中获得 Maven 依赖管理,需要安装 Maven Integration for Android Development Tools 插件,该插件集成了 m2eclipse、ADT 插件以及 Maven Android Plugin

本周 Spring 动态:2011 年 2 月 8 日

工程 | Josh Long | 2011 年 2 月 8 日 | ...

Spring 社区本周依然精彩纷呈。新版 Tomcat 发布、移动客户端、Spring Data 以及大数据(如 Spring Gemfire、Redis,以及当然的 Spring Data 项目)似乎引起了社区的广泛关注。

温馨提示:Spring 核心框架的领导者兼所有姐妹 Spring 项目的贡献者 Juergen Hoeller 将在两天后(2 月 10 日)举行两次相同的网络研讨会——一次面向北美一次面向欧洲——介绍 Spring 3.1 的新特性!务必注册参加这次免费的网络研讨会,了解最广泛使用的 Java 框架的下一代迭代!

这似乎是一个创纪录的活动,预先注册人数众多。尽管还没有(任何)Spring 3.1 二进制文件(请持续关注!),但 Spring 项目的 代码始终可用,因此——如果您和我一样对所有新功能感到兴奋——您将在发布很久之前就能看到这次网络研讨会并开始玩转它了…

本周 Spring 动态:2011 年 2 月 1 日

工程 | Josh Long | 2011 年 2 月 2 日 | ...

本周社区的进展如火如荼,令人着迷。根据您的关注点不同,兴奋点可能在于 Spring Data、Gemfire 和 Virgo 等更前沿的新技术,也可能在于 Tomcat 和 SpringSource Tool Suite 等技术的精妙改进。无论如何,本周有很多内容值得了解,让我们开始吧!

  1. SpringSource Tool Suite 2.6.0.M1 已发布。新版本改进了内容辅助和快速修复功能,为基于 Spring MVC @RequestMapping 的应用程序添加了新的向导和视图。此外,它还提高了 Groovy 的内容辅助性能,并改进了 Groovy 的语法高亮显示。
  2. Spring Data Graph - Neo4j 支持 1.0.0.M2 发布。新版本包含许多新功能,包括改进的索引支持——为节点和关系提供完整的命名索引支持,移除节点和关系实体,根据类型策略在从框架方法实例化实体时进行严格类型检查,支持动态投影到任意图实体,以及对 Neo4j 1.2 的全新更新支持。
  3. Shekhar Gulati 在 IBM 的 DeveloperWorks 上发布了一篇关于 Spring Roo(第一部分,从源代码构建)的入门介绍。
  4. Tomcat 项目高级贡献者 Mark Thomas 撰文介绍了如何在 Tomcat 7 中防范跨站脚本攻击 (XSS)
  5. VMWare vFabric GemFire 团队刚刚制作了一个演示视频,展示如何设置 GemFire 的 Hibernate 缓存模块。该视频演示了如何在 Maven 中配置该模块,然后展示了其在基于 Spring-DAO 的实现中的使用。最后,视频还演示了如何使用 Spring Insight 监控应用程序的性能。这是一个很棒的视频,介绍了一项更棒的技术!
  6. Sebastian Pietrowski 发布了一篇关于 Spring Data Redis 的精彩入门文章
  7. Shekhar Gulati 贡献了*另一篇*很棒的文章——同样是关于 Spring Data 与 Redis 的。Spring Data 是一个包含一系列技术的总称,旨在支持更专业化的数据持久化需求。其中很大一部分是对当今许多 NoSQL 数据存储的深度支持,以及对基于 JDBC 的持久化的更专业化支持。
  8. Java Code Geeks 撰写了一篇关于 使用 Spring AOP 进行面向切面编程的优秀文章。
  9. Jose Delgado 撰写了一篇关于如何在 Spring Roo 中配置应用程序以处理两个数据库的精彩文章。如何在 Spring Roo 中配置应用程序以处理两个数据库
  10. Sivaprasadreddy Katamreddy 又有新作品了,这次是关于将控制反转和依赖注入应用于方法设计
  11. Glyn Normington 在推文中提到 Eclipse Virgo 内核首次成功运行,它使用了基于 OSGi 4.3 框架挂钩实现的区域有向图。恭喜!Eclipse Virgo 是以前的 SpringSource dm Server 的新改进版本。
  12. David Dossot 转推了一条有趣的帖子,探讨了

    上个月初使用 Spring 与 Activiti BPMN 2 引擎

  13. 在 Tomcat 6 和 7 的众多激动人心的新闻中,很容易忽略 Tomcat 5 仍在更新和支持。Tomcat 5.5.32 也刚刚发布了!

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有