Spring Tool Suite 和 Groovy/Grails Tool Suite 3.3.0.M1 发布

发布 | Martin Lippert | 2013 年 4 月 23 日 | ...

亲爱的 Spring 社区成员:

我很高兴地宣布 Spring Tool Suite (STS) 和 Groovy/Grails Tool Suite (GGTS) 的首个里程碑版本 3.3.0.M1 已发布。

此里程碑版本的亮点包括:

  • Spring IDE:改进了对 JavaConfig 驱动的 Spring 项目的支持
  • Groovy-Eclipse:现在支持可定制的编辑器模板
  • Groovy-Eclipse:在二进制(已编译)groovy 文件中的导航和悬停提示
  • Grails-IDE:初步支持 Grails 2.3 的当前构建版本

这两个工具套件都基于最新的 Eclipse Juno SR2 版本。为了获得最佳性能和稳定性,我们仍然推荐基于 Eclipse 3.8.2 的发行版。

第二个里程碑版本 3.3.0.M2 计划于 2013 年 6 月初发布,随后在 2013 年 7 月初发布 3.3.0 正式版——紧随 Eclipse Kepler 发布之后。

要下载这些发行版,请访问:

详细的新功能和值得注意的说明可以在这里找到:STS/GGTS 3.3.0.M1 新功能和值得注意之处

尽情享用!

Spring Batch 2.2.0 RC1 现已可用

发布 | Michael Minella | 2013 年 4 月 9 日 | ...

我们很高兴地宣布 Spring Batch 2.2.0.RC1 现在可以通过 SpringSource Milestone 仓库获取。Spring Batch 主页 | GitHub 上的源代码 | 参考文档

支持 Spring Data

Spring Data 是一系列项目的集合,旨在简化使用非关系型数据库等新型数据访问技术的 Spring 应用开发。Spring Data 基于公开 Repository 对象模型,允许应用在许多新平台上以简单一致的方式访问数据。Spring Batch 2.2.0.RC1 现在为 Spring Data 支持的多种数据存储提供了 ItemReaderItemWriter 实现,包括 MongoDB、Neo4j 和 Gemfire(仅写)。此外,Spring Batch 2.2.0.RC1 现在拥有一个 RepositoryItemReader 和一个 RepositoryItemWriter,它们可以从自定义的 Spring Data Repository 实现中读取和写入项目。

Java 配置

通过此版本,Spring Batch 2.2.0.RC1 现在支持基于 Java 的作业定义。现在可以使用新的 @EnableBatchProcessing 注解和一系列构建器来构建 Java 配置的作业定义,这些构建器允许您构造作业、步骤、流程、拆分等。通过使用 @EnableBatchProcessing 注解,以下功能被启用:
  • 创建 StepScope - 允许通过 @Scope("step") 配置 bean
  • @Autowired - JobRepository, JobLauncher, JobRegistry, PlatformTransactionManager, JobBuilderFactoryStepBuilderFactory 都可以在您的上下文中自动装配。

非标识性作业参数

Spring Batch 2.2.0.RC1 现在支持使用不参与生成 JobInstance 身份的作业参数。作为本次更新的一部分,JobParameters 不再与 JobInstance 关联,而是与 JobExecution 关联。为了支持这一变更,作业仓库模式已更新,并提供了一个迁移脚本。您可以在入门指南中阅读有关迁移脚本的详细信息。

其他改进和错误修复

随着 Spring Batch 2.2.0.RC1 的发布,还增加了一系列其他改进和错误修复。此版本的完整更新列表可在本次修订的更新日志中找到。

链接

Spring Batch 主页 | GitHub 上的源代码 | 参考文档

Spring Mobile 1.1.0.M3 发布

发布 | Roy Clarkson | 2013 年 4 月 5 日 | ...

亲爱的 Spring 社区成员:

我们很高兴地宣布 Spring Mobile 1.1.0.M3 已发布!

Spring Mobile 为 Spring MVC 提供了扩展,有助于开发跨平台的移动 Web 应用。

此版本在使用 SiteSwitcherHandlerInterceptor 的自定义域名策略时增加了更简单的配置。Kindle Fire 设备现在根据其模式被检测为平板电脑或移动设备。此外,此版本还解决了几个问题。此版本是针对 Spring Framework 3.2.2 构建和测试的。有关更多信息,请参阅更新日志参考手册。非常感谢社区在改进 Spring Mobile 方面持续提供的反馈和支持。

要获取该软件,请下载发行版,或将maven artifact添加到您的项目中。示例应用可在 github.com/SpringSource/spring-mobile-samples 获取。

如果您正在构建移动 Web 应用,我们鼓励您试用 Spring Mobile 1.1.0.M3 并与我们合作进行项目的下一次迭代。

Rest.js 0.9 发布

发布 | Jeremy Grelle | 2013 年 3 月 28 日 | ...

亲爱的 Spring 社区成员:

今天我们很高兴地宣布 rest.js 现在已成为 Cujo.js 的一部分,并且 rest.js 0.9 已发布。

https://github.com/cujojs/rest

rest.js 是一个 RESTful HTTP 客户端。它远超开发者在其他框架中习惯的典型 XMLHttpRequest 抽象。rest.js 基于可组合的拦截器构建,这些拦截器逐步为客户端添加新功能。配置好的客户端是防篡改的,可以在应用程序内安全共享。如果应用程序的某个部分需要特定行为,它可以在公共链上进一步添加拦截器……

When.js 2.0.0 发布

发布 | Jeremy Grelle | 2013 年 3 月 20 日 | ...

亲爱的 Spring 社区成员:

我们很高兴地宣布 when.js 2.0.0 已发布。

When.js 是 cujojs 轻量级的 Promises/A+ 和 when() 实现,并为 cujojs 的 IOC 容器 wire.js 提供异步核心能力。它还提供了其他几个有用的 Promise 相关概念,例如合并多个 promise、映射和规约 promise 集合,以及定时 promise。

这个主要版本带来了完整的 Promises/A+ 合规性,以及异步 promise 解析。它还包含一些新功能,包括一个用于处理对象键的新模块 when/keys。

有关更多详细信息,请参阅 cujojs 讨论组,并查看完整的更新日志以获取更多信息和新功能文档的直接链接。

Spring Tool Suite 和 Groovy/Grails Tool Suite 3.2.0 发布

发布 | Martin Lippert | 2013 年 3 月 11 日 | ...

亲爱的 Spring 社区成员:

我们今天很高兴地宣布我们基于 Eclipse 的工具的下一个主要版本:Spring Tool Suite (STS) 3.2.0 和 Groovy/Grails Tool Suite (GGTS) 3.2.0。

此版本的亮点包括:

  • Eclipse Juno SR2 更新(包括 Mylyn、EGit、m2e、m2e-wtp)
  • 增加了对 Mac OSX 高分辨率显示器的支持
  • 将捆绑的 tc Server 更新到 2.8.2
  • 使用 Spring 项目时的主要性能改进
  • Live Spring Beans Graph 的重大改进
  • 增加了对 Spring Integration 2.2 的支持
  • 更新以包含 Groovy 2.0.7 和 Grails 2.2.1(Groovy 2.1 可从仪表板获取)

我们继续在 Eclipse 3.8 和 Eclipse 4.2 之上提供发行版。尽管 Eclipse 4.2 系列在 Eclipse Juno SR2 版本中已得到很大改进,但我们仍然推荐使用基于 3.8 的版本以获得最佳性能和稳定性。

要下载这些发行版,请访问:

详细的新功能和值得注意的说明可以在这里找到:STS/GGTS 3.2.0 新功能和值得注意之处

STS/GGTS 3.0.0 和 3.1.0 的更新可通过自动... 获取

Spring Data REST 1.1.0.M1 发布

发布 | Jon Brisbin | 2013 年 3 月 11 日 | ...

Spring Data 团队很高兴地宣布使用 RESTful 语义将领域对象导出到 Web 的下一个重要进展:Spring Data REST 1.1.0.M1 现已在 SpringSource 里程碑仓库中提供。

Spring Data REST 主页 | GitHub 上的源代码 | 参考文档

将领域对象导出到 Web

Spring Data REST 是一组 Spring MVC 组件,您可以将其添加到自己的 Spring MVC 应用中,以便使用 RESTful、HATEOAS 语义将您的 Spring Data Repository 导出到 Web。它通过将 Repository 导出到可通过几种不同方式配置的 RESTful URL 来提供一致的交互 API。

Spring Data REST 支持顶级实体(由 Spring Data Repository 直接管理的领域对象)的 CRUD 操作,只需编写一行代码,定义一个扩展 Spring Data CrudRepository 接口的接口即可。完成这些后,您的实体将拥有完整的 RESTful 语义。您可以使用遵循 HATEOAS 原则、可发现的标准 URL 创建新实体、更新现有实体以及删除它们。这意味着访问您的 Spring Data REST 应用程序的用户代理不需要提前知道您正在导出哪些资源。它可以通过对 JSON 中提供的 URL 进行连续调用来发现存在哪些实体以及这些实体上存在哪些关系。这些“链接”是 HATEOAS REST 应用程序的真正基础和力量所在。

从头开始的更改

版本 1.1 几乎是完全重写的。它不仅比 1.0 更易于配置,并且更好地符合 Spring 3.2 过渡的 Spring MVC 期望,而且 Spring Data REST 内部最大的变化是它现在支持除 JPA 之外的其他类型的 Spring Data repository 实现。无论使用何种后端数据存储,CRUD 和管理关系(如果数据存储支持)的 HTTP 语义保持不变。

这意味着现在可以在同一个 Spring Data REST 应用程序中导出 JPA 实体和 MongoDB 实体,并使用通用的 URL 结构以及标准的 Spring HATEOAS Resource 表示形式来访问所有实体和集合。访问这些 RESTful URL 的用户代理不需要特殊了解后端实体由哪个数据存储管理,而且最重要的是,您无需编写任何代码即可获得该功能!

MongoDB 支持

Spring Data REST 1.1 现在支持导出 MongoDB CrudRepository 实现。相同的 HTTP 语义适用于 MongoDB @Document 实体和 JPA 实体。当然支持 GET、POST、PUT、DELETE,也支持 @DBRef。您可以使用 GET、POST、PUT 和 DELETE 查看和管理两个文档之间的关系,并且可以根据您的 @Query 定义导出 finder 方法。请参阅 spring-data-mongodb 参考文档,了解对象映射与 JPA 风格映射的不同之处以及查询定义的完整详细信息。

Gemfire 支持

Spring Data REST 1.1 现在支持将使用高性能 Gemfire 数据库的实体导出到不同的区域(Region)。阅读 Spring Data Gemfire 文档,了解详细的配置选项以及 Gemfire 中的 POJO 映射与其他映射技术的不同之处。

接下来将支持 Neo4J

Spring Data REST 1.1 现已准备好在下一版本 spring-data-neo4j 2.3 中支持 Neo4J GraphRepository。当该版本普遍可用时(应该在 Spring Data REST 1.1 RELEASE 普遍可用时或之前),您将能够使用标准的 HATEOAS 语义访问 @NodeEntity 及其关系,就像您使用其他数据存储一样。

添加到您现有的应用中

Spring Data REST 的设计方式是,如果您愿意,可以为 Spring Data REST 应用程序创建一个完整的应用程序。毕竟,它只是一个标准的 Spring MVC Web 应用。但是当您将 Spring Data REST 添加到您自己的服务中时,事情会变得非常有趣。

Spring HATEOAS 作者 Oliver Gierke 创建了一个示例应用程序,演示了在现代 Web 应用程序中使用 HATEOAS 原则。它被称为 spring-restbucks,是 Jim Webber、Savas Parastatidis 和 Ian Robinson 在《REST in Practice》一书中描述的 Restbucks 应用程序的实现,该书是关于 REST 服务的系统性理论:《REST 实战》

混合使用 REST 服务

通过将 Spring Data REST 与您的其他 RESTful 服务混合使用,您可以在 Spring Data REST 导出的那些领域对象(您无需编写任何代码即可将其公开)与那些不代表实际实体而是流程的服务之间实现无缝集成。您可以在 spring-restbucks 应用程序中看到支付服务如何与领域对象 CRUD 交互的示例,其中信用卡支付处理由自定义控制器处理,而对象 CRUD 由 Spring Data REST 处理。您的自定义控制器实际上可以 piggyback(搭乘)在 Spring Data REST URL 上,以便在整个应用程序中保持一致且简单的 URL 结构,无论该 URL 指向您的自定义控制器、Spring Data REST JPA Repository 还是任何其他支持的 Repository 样式。

它不是排他性的

Spring Data REST 不是非此即彼的选择。如果您不想将所有 Repository 都暴露给 Web 客户端,没问题!有几种不同的方式可以关闭 Repository 的功能。您可以在源代码中嵌入注解,或者,如果您没有访问权限或根本无法添加 Spring Data REST 注解,您可以使用流畅的 DSL 风格配置来告诉 Spring Data REST 如何公开您的资源。在您的应用程序中使用 Spring Data REST 并不是对某一种方式的专属承诺。Spring Data REST 的结构使其能够与您现有的应用程序良好协作,因此您可以整合您想要的 Spring Data REST 功能片段,同时仍然保留您习惯在 Spring MVC 控制器中创建的所有自定义编码服务。

JSONP 支持将移至过滤器

Spring Data REST 1.0 中内置的 JSONP 支持已从核心框架中移除,取而代之的是即将推出的通用 JSONP Servlet Filter,它的工作效果将远优于 1.0 版本中 JSONP 的实现方式。当该过滤器普遍可用时,JSONP 支持不仅可以添加到 Spring Data REST 中,还可以添加到几乎任何基于 Servlet 的 REST 资源中。

安装与文档

要开始尝试使用 Spring Data REST,请查看参考文档,了解其概况,然后通过简单地将 spring-data-rest-webmvc artifact(目前在SpringSource 里程碑仓库中为 1.1.0.M1)添加到您的项目中,从而在您自己的应用程序中开始使用它,然后导入 Spring Data REST 配置,就像您在 spring-restbucks 应用程序中看到的那样

在 CONFESS_2013 了解更多信息

如果您计划参加 4 月第一周在维也纳举行的 CONFESS_2013 会议,那么您可以在我关于将实体直接导出到 Web 的演讲中了解所有关于 Spring Data REST 的信息。

链接

Spring Data REST 主页 | GitHub 上的源代码 | 参考文档

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部