本周 Spring - 2014 年 4 月 8 日

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

欢迎来到另一期《本周 Spring》!

明天,我将在vJUG,一个虚拟 JUG上做关于Spring Boot的演讲。别告诉任何人,但演讲内容将基于我和 Spring Boot 联合创始人Phil Webb一直在计划的一次演讲。代码已经在线,所以请查看一下,我期待明天见到你!如果你错过了这次演讲,并且碰巧在湾区,那么请在周四晚上加入我们在旧金山 Pivotal 办公室的活动,和 Phil 以及我一起参加这场更活跃的演讲!

然后,这个周日,我将出发去传播 Spring 的爱!我将首先在巴黎参加Devoxx FR。之后,我将前往印度班加罗尔参加印度开发者峰会。我自 2012 年以来就没有去过那里,非常期待再次访问并见到那里出色的 Spring 社区。然后,在我回家的路上,我将顺道拜访比利时,在比利时 JUG 做一次演讲

Sagan 项目:零停机部署

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

上周,我开始了本系列,宣布Sagan参考应用程序现已开源,并展示了如何在您自己的机器上启动和运行它。

在这篇文章中,我想详细介绍我们如何使用蓝绿部署实现每天在 spring.io 上多次将 Sagan 推送到生产环境且零停机。您可能以前听说过这种技术;几年前Martin Fowler 写过相关文章,并且强烈推荐的书籍《持续交付》中也有关于它的章节。简而言之,它就像这样:

  1. 维护两个生产环境副本(“蓝色”和“绿色”);
  2. 将生产 URL 映射到蓝色环境,从而将所有流量路由到蓝色环境;
  3. 在绿色环境中部署和测试应用程序的任何更改;
  4. 通过将 URL 映射到绿色环境并取消蓝色环境的映射来“切换”。

评论回来了!

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

当我们推出新的 spring.io 网站时,我们关闭了博客评论功能。一方面是因为时间有限,关闭评论是最简单的做法。另一方面,这也是一项关于极简主义的实验。我们想看看是否能减少反馈渠道数量,从而全面提高反馈质量。我们请大家将关于博客文章的问题和反馈发送到 Twitter 账号 @springcentral,很多人都这样做了——谢谢!

那么结果如何呢?我们听到社区的一些反馈说,他们很想念博客上的评论…

本周 Spring(Spring Boot 特别版!)- 2014 年 4 月 1 日

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

各位,欢迎来到具有重要意义的本周 Spring》 - Boot 特别版

当然,今天是愚人节。有很多很棒的愚人节玩笑!我们今年没有准备任何恶作剧,但我总是喜欢向人们推荐这段仍然史诗般的视频,Spring 联合创始人 Rod Johnson 宣布将 SpringSource(Spring 发源的公司名称)出售给 Microsoft!2008 年,在愚人节

说罢,今天还有有趣的事情要谈(与愚人节完全无关):Spring Boot - 就在今天早上 - 终于发布了 GA 版本!祝贺Phillip WebbDr. Dave Syer(以及许多帮助过他们的人)实现了这个令人惊叹的发布。

我不知道从外部看起来是什么样的,但我们 Spring 团队一直在关注 Philip 和 Dave 如何推动 Boot 从概念到完善的原型(在SpringOne2GX 2013大会上引起了巨大反响),再到过去一年多一点的 GA 版本。Boot 已经影响了许多其他 Spring 项目,包括 Spring Framework 4.0。这是一项真正改变游戏规则的技术,而且不仅仅局限于 JVM。

如果你还没有尝试过,那么现在就是时候了。这里有一个关于如何从STS 3.5(也即将发布)中使用 Spring Boot 的视频。STS 并非必需,但它确实有一些便利的工具!不妨看看。

  1. 大新闻:Spring Boot 1.0.0 发布了它的第一个主要版本!
  2. Spring Integration 高手 Artem Bilan 刚刚宣布发布了Spring Integration 3.0.2 Spring Integration 4.0 M4。Spring Integration 3.0.2 中的新内容很棒,但请向下滚动查看Spring Integration、Boot 和 Java 配置演示!我非常高兴看到这个版本。#boot
  3. Spring 负责人 Juergen Hoeller 宣布发布了 Spring 4.0.3 版本,该版本支持 Java 8 并大大改进了 websocket 支持。
  4. Spring Data 传奇人物 Thomas Darimont 宣布Spring Data Redis 1.2.1 现已发布。新版本包括针对 RedisCacheManagerRedisTemplate 的错误修复。
  5. Spring Data 负责人 Oliver Gierke 刚刚发布了Spring Data Dijkstra 的第一个里程碑版本。快去看看吧!
  6. 在 4 月 9 日,我将在 vJUG 上进行一次全球直播的 Spring Boot 介绍。我希望在有限的时间内,展示使用 Spring Boot 构建应用程序的样子。我很想在那里见到你,也请随时在 IRC 频道提问。#boot
  7. 我们的朋友Chris Richardson在博客中分享了一篇关于使用 Spring Boot 构建微服务的方法。示例是 Scala。看看吧!#boot
  8. Spring Boot 获得了 最具创新性 Java 技术 提名。我不确定投票流程是如何进行的,但一旦我弄清楚,我就会在这里发布。无论如何,我希望我们可以依靠您的帮助来推动投票!#boot
  9. Marco Vermeulen 整理了一个非常棒的演讲,介绍了如何使用 Spring Boot 构建微服务。这个例子是 Groovy。#boot
  10. Jim Drannbauer 构建了一个 GitHub 仓库,演示了如何将最近发布的 Spring MVC Test HtmlUnit 和 Cucumber 结合使用。有了它,您的单元测试几乎可以像人类语言一样阅读!#boot
  11. 我们的朋友 Matt Raible 又回来了,这次带来了不是一篇,而是两篇关于使用 Spring Boot 的文章!第一篇演示了如何为 Spring Boot 应用程序添加 Swagger 集成,第二篇演示了如何使用 Ionic 框架构建连接到 Boot 后端应用程序的 iOS 客户端。#boot
  12. all and sundry 博客又回来了,这次带来了一篇关于将 Spring Boot 和 Scala 一起使用的文章。不错!无论使用何种语言,Boot 都能带来优势!#boot
  13. Sergi Almar 本周又带来了一篇关于如何使用 JMX 监控 websocket 线程池进行性能调优的文章。这是对他上一篇文章关于如何在 Spring 4 中检测 websocket 连接和断开的很好的后续。#boot
  14. 我们网站的团队已为我们的博客安装了 Disqus 评论系统。真希望我能给你看那些邮件,因为这次从“想法”到“评论上线!”的速度简直是疯狂的快。甚至可以说是敏捷。
  15. Adam Shook 在 SpringOne2GX 2013 大会上的演讲SpringOne2GX 2013 回放:Hadoop - 大数据新手的入门基础现已在线可看。千万不要错过!
  16. David Turanski 和 Luke Taylor 在 SpringOne2GX 2013 大会上的演讲使用 Spring 进行实时分析现也已在线可看。快去看看吧!
  17. Spring LDAP 负责人Mattias Arthursson 去年在 SpringOne2GX 2013 大会上介绍 Spring LDAP 2.0 的演讲回放现已上线
  18. 您错过了 Spring 负责人Juergen Hoeller 关于在 Java 8 上使用 Spring 4 的网络研讨会吗?它现在已经可以观看了,绝对值得一看!

Sagan 项目:开源 spring.io

工程 | Chris Beams | 2014 年 3 月 27 日 | ...

我们在去年的 SpringOne/2GX 大会上发布了 spring.io 网站,今天我很荣幸代表团队宣布,我们将为网站提供支持的基于 Spring 的应用程序开源。

我们将这个项目称为Sagan,它被设计成一个使用 Spring 构建现代 Web 应用程序的参考。代码现在可以在github.com/spring-io/sagan找到,并且很容易上手。这里有一个简短的截屏视频来证明这一点

!{iframe src="//player.vimeo.com/video/90126708" width="640"  height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen}{/iframe}


在接下来的几周,我们将发布一系列关于 Sagan 项目的文章,探索应用程序的不同方面、设计背后的决策,并记录其演变过程。例如,虽然 Sagan 目前在 JDK 7 和 JDK 8 上运行得一样好,但我们尚未利用Java 8 语言特性。当我们这样做时,我们将在博客中对此进行介绍,并在此过程中展示为什么我们认为Spring 和 Java 8是如此完美的组合。

与此同时,不妨试试 Sagan!首先,您可以在本地运行,然后尝试在Pivotal Web Services上的Cloud Foundry 部署

注意: 使用邀请码 "sagan" 注册可即时批准帐户。PWS 团队提供了数量有限的邀请码,所以先到先得。

从那里,您可以浏览wiki中其余的操作指南式文档,如果您能在此过程中提供反馈,我们将非常高兴。

正如 GitHub 的贡献者图表所示,Sagan 项目内部已经是一个巨大的团队努力。今天,我们非常高兴邀请所有阅读这篇文章的人加入我们。有很多工作可以做,并且非常欢迎拉取请求


更新,2014 年 5 月 16 日:SpringOne2GX 2013 会议“spring.io 内外”的回放现已可用。

本周 Spring - 2014 年 3 月 25 日

工程 | Josh Long | 2014 年 3 月 26 日 | ...

欢迎来到另一期《本周 Spring》!本周将是疯狂的一周,我迫不及待想下周与您相见!将会有一些重大公告!本周请密切关注spring.io太多胜利。好了,废话不多说,让我们开始吧!

使用 WebDriver 进行 Spring MVC 测试

工程 | Rob Winch | 2014 年 3 月 26 日 | ...

在我的第二篇文章中,我介绍了如何将 Spring MVC Test 与 HtmlUnit 一起使用。在这篇文章中,我们将利用 WebDriver 中的其他抽象来让事情变得更容易。

为何选择 WebDriver?

我们已经可以使用 HtmlUnit 和 MockMvc,那么为什么还要使用 WebDriver 呢?WebDriver 提供了一个非常优雅的 API,并使我们能够轻松地组织代码。为了更好地理解,我们来看一个示例。


注意 尽管是 Selenium 的一部分,但 WebDriver 运行测试时不需要 Selenium Server。


假设我们需要确保消息正确创建。测试包括查找 html…。

使用 HtmlUnit 进行 Spring MVC 测试

工程 | Rob Winch | 2014 年 3 月 25 日 | ...

在我的上一篇文章中,我介绍了 Spring Test MVC HtmlUnit 并解释了该项目的动机。在这篇文章中,我将介绍如何将 Spring MVC Test 与 HtmlUnit 一起使用。

更新依赖

在使用项目之前,您必须确保更新您的依赖项。关于 MavenGradle 的说明可以在网站文档中找到。

使用 HtmlUnit

现在我们有了正确的依赖项,我们就可以在单元测试中使用 HtmlUnit 了。我们的示例假设您已经将 JUnit 添加为依赖项。如果您还没有添加,请相应地更新您的类路径。使用 HtmlUnit 和 Spring MVC Test 的完整代码示例可以在 MockMvcHtmlUnitCreateMessageTest 中找到…。

介绍 Spring Test MVC HtmlUnit

工程 | Rob Winch | 2014 年 3 月 19 日 | ...

周一,我宣布发布了 Spring Test MVC HtmlUnit 的第一个里程碑版本,并承诺将推出一个系列博客文章来介绍它。这是介绍 Spring Test MVC HtmlUnit 的四部分系列博客文章的第一篇。系列大纲如下所示

为何…

本周 Spring,Java 8 特别版 - 2014 年 3 月 18 日

工程 | Josh Long | 2014 年 3 月 18 日 | ...

欢迎来到另一期《本周 Spring》!

今天,Oracle 在 EclipseCon 上发布了 Java 8 及其所有众多出色的特性。Java 8 终于来了!务必今天就获取您的 JDK。

Java 8 有许多优秀的特性——比如 lambda 表达式——可以增强 Spring 应用程序开发。要了解更多信息,请务必参加 Spring 项目负责人Juergen Hoeller于 3 月 25 日举办的关于Spring 4 和 Java 8主题的网络研讨会。我会在那里!

像往常一样,我们有很多内容要介绍,所以让我们开始吧。

  1. InfoQ 今天发布了一篇由Dan Woods撰写的非常不错的文章,介绍 Spring Boot。Dan 写得很好,我推荐大家阅读。

订阅 Spring 新闻

通过 Spring 新闻保持联系

订阅

先行一步

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

了解更多

获取支持

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

了解更多

近期活动

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

查看全部