Spring 4.1 即将到来的 JMS 改进

工程 | Stéphane Nicoll | 2014 年 4 月 30 日 | ...

Spring Framework 4.0 引入了一个新的 spring-messaging 模块,添加了一系列 Spring Integration 类型,例如核心的 Message 抽象。Spring 4.1 调整了其 JMS 支持,以便您可以从该抽象中获益。但在深入探讨之前,我想详细向您展示我们如何进一步改进了侦听器端点的基础设施。

注解驱动的侦听器端点

您可能已经习惯使用 <xyz:annotation-driven> 元素或 @Enable* 对应注解,也许您一直在寻找 JMS 的类似功能。别再找了:Spring 的下一个主要版本…金

Spring Integration 4.0 发布

工程 | Gary Russell | 2014 年 4 月 30 日 | ...

我们很高兴宣布 Spring Integration 4.0.0.RELEASE 版本现已发布。

构建物现已在 Spring 仓库 (repo.spring.io/release) 和 Maven Central 中提供。

新特性已在 Milestone 4Release Candidate 公告中进行了深入介绍(包括 Spring Boot 示例),但总而言之

  • 需要 Spring Framework 4.0.3 或更高版本
  • 极大地扩展了用于配置集成流的注解支持,为扩展仓库中正在进行的 Java DSL 奠定了基础
  • 新的端点等等...

有关自候选版本以来的更改,请参阅 GA 版本说明…金

本周 Spring - 2014 年 4 月 29 日

工程 | Josh Long | 2014 年 4 月 29 日 | ...

欢迎阅读最新一期的《本周 Spring》!上周我在印度班加罗尔度过了一段美好的时光,昨天我应极受欢迎的 Devoxx 大会创始人 Stephan Janssen 的邀请,快速访问了比利时 Java 用户组,在那里我和一些热情洋溢的当地朋友以及我的朋友、Spring framework committer Stéphane Nicoll 一起度过了一段时光。当然,整个活动的视频很快也会在 Parleys 上发布!

让我们直接开始吧!

  1. Spring Social 的联合创始人兼负责人 Craig Walls 刚刚宣布了期待已久Spring Social 1.1.0 版本!这个新版本太棒了!如果您过去一年半一直在关注预发布版本,就会知道在如何轻松暴露 Spring Social 的 Java 配置方面进行了一些深入的重新思考。最终版本既简洁又通用。我非常高兴看到这一点,并将开始相应地更新我各种由 Spring Social 提供支持的 OAuth 客户端!Craig,干得非常漂亮!
  2. 您看到了新的 次要” Spring Boot 版本 1.0.2 吗?我加引号是因为,对于 Spring Boot,即使是次要版本也很有料!Syer 博士宣布了该版本,并特别指出了(除此之外)全新的 @IntegrationTest 注解。太棒了!(现在请允许我去更新我的 Boot 项目...)
  3. 明天,即 4 月 30 日,加入我与来自 New Relic 的 Ashley Puls,我们将追踪和诊断一个 Javascript(前端)和 Java/Spring(后端)应用程序。
  4. Spring Integration 即将迎来一个令人难以置信的新版本——完全支持注解和 Java 配置 + 部分 Spring Boot 支持!通过 4.0,您将能够构建无需 XML 的集成应用程序。项目负责人 Gary Russell 将在 5 月 13 日的网络研讨会《Spring Integration 4.0,新前沿中带您了解所有新特性。
  5. Spring Data Neo4j 负责人 Michael Hunger 和我将于 5 月 20 日举办网络研讨会,介绍 Spring Data Neo4j 3.0 和 Neo4j 2.0 中的新功能。
  6. 继续 Project Sagan 系列,Spring framework 大师 Brian Clozel 刚刚撰写了一篇非常棒的文章,介绍了 Project Sagan 如何处理客户端 JavaScript。这篇文章精彩地展示了现代客户端应用程序如何使用 npmgruntgulp。最棒的是?内容以视频形式呈现!完美!
  7. DISID 成为 Spring Roo 项目的主要贡献者!看看我朋友 Pieter Humphrey 关于 Spring Roo 未来走向的精彩文章。
  8. 在 SpringOne2GX 2013 大会上,与 Chris Richardson 一起度过 90 分钟,他将讨论 Java、Scala 和 Javascript 中的 Future。不,我们不是指产品路线图。看看他题为《Future 和 Rx Observable:异步消费 Web 服务的强大抽象》的会话。
  9. 您还认为 Spring 只是用于依赖注入吗?加入 Mark Secrist,深入了解框架的基础概念,如底层设计模式和构建块——这些都是高度可复用的见解。观看他 SpringOne2GX 2013 会话《超越依赖注入》的重播。
  10. Xavier Padró 写了一篇不错的文章,介绍了如何使用 Spring Integration 配置 作为 web 服务客户端时的超时设置
  11. IntelliJ 大师 Andrey Cheptsov 写了一篇精彩的文章,介绍了如何将 Jetbrains 源于的 Kotlin 语言、NoSQL 数据库 MongoDB、Spring Boot 和 PaaS Heroku 结合使用。太棒了!
  12. Petri Kainulainen 又回来了,这次他写了一篇关于使用 jOOQ(使处理 SQL 更容易)与 Spring 结合处理分页和排序的精彩文章。
  13. Roger Hughes 写了一篇很酷的文章,介绍了如何使用 Spring 的 Quartz 调度支持来跟踪异常
  14. 时间不多了,不要错过 博客上有一些不错的文章。首先值得注意的是这篇文章 关于在 JBoss EAP 6.2 上的旧版本 Spring Integration 中出现的奇怪 ClassNotFoundException 异常
  15. 第二篇稍微旧一点的文章是关于使用 Spring Integration MQTT 适配器与基于 MQTT 的服务通信。MQTT 是一种轻量级消息协议,是当今许多物联网解决方案的核心。谁知道呢?您的冰箱可能正在使用它!:)
  16. 想在本地机器上运行一个更接近生产环境的 Hadoop 实例吗?不想运行完整的虚拟机?看看这篇 关于使用 Docker 部署 Pivotal HD Hadoop 发行版的文章!(然后,看看 Spring for HadoopSpring XD!)

Project Sagan:客户端架构

工程 | Brian Clozel | 2014 年 4 月 28 日 | ...

既然我们对 JavaScript 模块有了更多了解,我们就可以深入研究 Sagan 应用程序的客户端架构了。

注意:如果您还没有阅读之前关于 Sagan 项目的博客文章,您应该知道这是 Spring 的参考应用程序,支撑着本博客和 spring.io 上的所有其他内容。之前的文章 展示了如何运行此应用程序我们如何实现零停机部署,以及 我们如何将 Sagan 升级以使用最新的 JDK8 特性

在这篇文章中,我想带您了解 Sagan 应用程序中客户端架构的基础知识

  1. 为什么客户端应用程序位于独立的 sagan-client 项目模块中?
  2. 它如何与 sagan-site 模块链接?
  3. npmbowergulp 是什么?
  4. 这些工具如何协同工作来构建客户端应用程序?

本周 Spring - 2014 年 4 月 22 日

工程 | Josh Long | 2014 年 4 月 22 日 | ...

欢迎阅读最新一期的《本周 Spring》!本周我在印度班加罗尔参加印度开发者大会,与开发者们交流(等等...)Spring!我还拜访了班加罗尔电子城的一家大型系统集成商,并与一支庞大的建筑师和工程师团队进行了交流,他们在全球范围内使用 Spring 进行项目开发。印度是一个有趣的地方,因为他们的许多业务都来自寻求帮助应对庞大项目的海外公司。当然,任何有助于更快完成更多工作的东西都备受关注,而 Spring 正是热门之选。不用说,Spring Boot 深受好评!不过,当地美食如此美味,工作之余也能享受!:)

本周有很多网络研讨会和重播——我们有很多内容要介绍,所以让我们开始吧!

Project Sagan:升级到 JDK 8

工程 | Chris Beams | 2014 年 4 月 18 日 | ...

我相信大多数读者都知道,Java SE 8 于上个月发布。结合 最近发布的 STS 3.5.0 及其对 JDK 8 的完整支持,我们认为现在是升级 Sagan 以利用新语言特性和 API 的理想时机。

注意:还不熟悉 Sagan 项目?它是 Spring 的参考应用程序,支撑着本博客和 spring.io 上的所有其他内容。请查看本系列的 第一篇三篇 文章以了解更多详情。

Cloud Foundry 的 Java buildpack 自发布之日起就提供了对 JDK 8 的支持。为了开始使用它,我们已经 创建了自己的 buildpack 分支,将 JDK 版本从 1.7.0 升级到 1.8.0,并 配置了我们的 Gradle 构建…金

本周 Spring - 2014 年 4 月 15 日

工程 | Josh Long | 2014 年 4 月 15 日 | ...

欢迎阅读最新一期的《本周 Spring》!本周我在法国巴黎参加 Devoxx FR 大会,与开发者们交流 Spring Framework 4.0、Spring Boot 等内容。下周我将前往印度班加罗尔参加印度开发者大会。一如既往,如果您在其中任何一个地方并且想谈论 Spring,请随时在线联系我

  1. 4 月 30 日星期二网络研讨会——不要错过 Ashley Puls (New Relic) 和我本人,他们将追踪和诊断现代 Web 应用程序:使用 Java 和 Javascript 进行 Web 应用程序诊断
  2. 4 月 22 日星期二网络研讨会——看看是什么吸引了 EclipseCon 2014 的主题演讲:Martin Lippert 和 Mike Milinkovich 演示了 Project Flux 的 alpha 版本:将 Eclipse 连接到基于云的开发者工具时代。立即注册
  3. Thomas Risberg 和 Janne Valkealahti 在本次 SpringOne2GX 2013 重播中展示了如何为 Java MapReduce、Streaming、Hive、Pig、Cascading 或 HBase 使用单一编程模型/配置模型:Spring Data 和 Apache Hadoop 入门
  4. 在 SpringOne2GX 2013 与 Jags Ramnarayan 和 Anthony Baker 共度 90 分钟:Hadoop 之上的内存数据和计算
  5. 看看 Kevin Nilson (Google) 和我本人在 SpringOne2GX 2013 上共同展示的关于 Spring Profiles 的内容,以及它是如何通过正常的开发/阶段/生产生命周期管理代码的出色工具:多环境 Spring 应用程序
  6. 我再次与 Roy Clarkson 在 SpringOne2GX 2013 上讨论 Spring Mobile/Android、REST/OAUTH 等,主题是:使用 Spring 构建智能客户端
  7. Erdem Günay 写了一篇非常好的文章,介绍了 他如何使用 Spring Expression Language (SpEL) 和 Spring Boot 动态地向各种 Android 客户端发送远程安装指令。
  8. 我们的朋友 Sam Brannen 将在 亚特兰大 Spring 用户组发表演讲!其中一个聪明
  9. Moritz Schulze 写了一篇非常、非常详细的文章,关于他的公司如何使用 Java 8 和 Spring Boot 开发了一个名为 Trackr 的时间跟踪和假期管理应用程序
  10. Mario Arias 使用 Kotlin 语言编写了一个版本的 Spring 关系型数据入门指南》Kotlin 是 JetBrains 的静态类型编程语言,可以编译为 JVM 字节码和 JavaScript。非常酷!我以前从未见过 kotlinprimavera 模块,但我很喜欢!
  11. 微软企业布道总监 Patrick Chanezon 最近旁听了 我在 vJUG meetup 上关于 Spring Boot 的演讲,并开始动手实践!结果是一份关于如何将 Spring Boot 应用程序部署到 微软 Azure PaaS 的指南。太棒了!谢谢,Patrick!
  12. Hai Nguyen 写了一篇非常好的文章,介绍了 如何配置/使用嵌入式 Jetty 的 JNDI 绑定的 DataSource
  13. 您错过了 Spring framework 负责人 Juergen Hoeller 在 GOTO Amsterdam 关于 Spring 4 和 Java 8 的史诗级演讲吗?不用担心,您可以在线观看
  14. 这期《本周 Spring》特别关注 PaaS!Kim Saabye Pedersen 写了一篇不错的文章,关于在 RedHat 的 OpenShift PaaS 上使用 Spring Boot
  15. 我们的朋友 Petri Kainulainen 又回来了,这次带来了一篇非常棒的 关于在 Spring 中使用 JOOQ 的文章。Petri 是社区中一个很棒的人。我想不用我多说了。收藏他的网站吧。几乎总是值得的。
  16. 我们在 Netflix 的朋友 Tomás Lin 又回来了!这次他写了一篇关于 使用 Spring Boot 和 Gradle 打包 Web 内容的文章
  17. Michael Simons 写了一篇非常详细的文章,介绍了 他是如何开发一个 Boot Web 应用程序的。感谢 Michael 详细的撰写。非常有价值的反馈。

使用 Geb 进行 Spring MVC 测试

工程 | Rob Winch | 2014 年 4 月 15 日 | ...

在我的 第三篇文章中,我讨论了如何使用 WebDriver 并结合 Page Object Pattern 来简化测试设计。在这篇文章中,我将讨论如何使用 Geb 使我们使用 MockMvc 进行测试更加 Groovy。

为什么选择 Geb 和 MockMvc

Geb 由 WebDriver 支持,因此它提供了许多我们从 WebDriver 中获得的好处。然而,Geb 通过为我们处理一些模板代码,使得事情变得更加容易。当然,我们希望使用 MockMvc,这样就不需要将代码部署到服务器。理解使用 Geb 的好处最简单的方法就是通过一个例子。


注意:Geb 的另一个很棒的特性是其出色的文档…金

缓存抽象:JCache (JSR-107) 注解支持

工程 | Stéphane Nicoll | 2014 年 4 月 14 日 | ...

Spring 的缓存抽象从 Spring 3.1 开始提供,是时候给它更多关注了。在这篇文章中,我想带您了解该领域的主要改进,即 JCache (JSR-107) 注解支持。

您可能已经听说,JSR-107 最终发布了,这是在最初提案 13 年后。对于熟悉 Spring 缓存注解的人来说,下表描述了 Spring 注解与 JSR-107 对应注解之间的映射关系:

Spring JSR-107
@Cacheable @CacheResult
@CachePut @CachePut
@CacheEvict @CacheRemove
@CacheEvict(allEntries=true) @CacheRemoveAll

JavaScript 模块化(摒弃行话)

工程 | Brian Clozel | 2014 年 4 月 11 日 | ...

将近十年前,Adrian Colyer 写了一篇令人难忘的博客文章,对面向切面编程 (AOP) 提供了最好的解释:风格清晰简洁,内容准确,没有行话。如果您查看了本系列的 前两篇文章,您可能已经注意到我们在 Sagan 应用程序的 客户端模块 中的一些架构选择,包括使用 JavaScript 模块

在这篇文章中,我想以 Adrian 的文章风格带您了解 JavaScript 模块的基础知识:清晰、简单、准确、没有行话!

为什么 JavaScript 也需要模块化

如果,像我一样…金

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

快人一步

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

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

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部