使用 Spring Boot 覆盖依赖版本

工程 | Dave Syer | 2016 年 4 月 13 日 | ...

本文介绍了一些可用于创建依赖于比 Spring BootSpring IO Platform 等平台管理更新的传递依赖版本库和应用程序的依赖管理技巧。下面的示例使用 Reactor 作为此类依赖的示例,因为它即将发布主要新版本 (2.5.0),但现有的依赖管理平台 (Spring Boot 1.3.xq) 声明依赖于旧版本 (2.0.7)。如果您想编写一个应用程序,通过对某个库的传递依赖来依赖新版本的 Reactor…

本周 Spring - 2016 年 4 月 12 日

工程 | Josh Long | 2016 年 4 月 12 日 | ...

欢迎来到《本周 Spring》的又一期!本周我在湿润而美妙的纽约市。在美国,报税日已经快到了!呼!时间过得真快。其他(明显更愉快)的年度盛事也即将到来,包括我们盛大的 SpringOne Platform 大会,所以赶紧预订门票吧!

此外,我将与我的朋友 Simon Maple、Daniel Bryant 和 Markus Eisele 于 4 月 19 日参加一个关于微服务的网络研讨会 - 快来加入我们吧!应该会很有趣,而且 - 希望如此 - 很有启发性!

照例,我们要讲的内容很多,让我们开始吧!

Spring WS 2.3.0 已发布

工程 | Greg L. Turnquist | 2016年4月11日 | ...

Spring 社区各位好,

Spring WS 已发布 2.3.0.RELEASE 版本。这是一个主要的升级,我们更新了几个核心依赖,例如 Apache Wss4j 2 (从 1.6)。建议您升级以确保您拥有最新的修复。有关已完成问题的列表,请参阅下面的报告

发行说明 | 项目主页 | GitHub | 问题 | 文档

这些构件已暂存到 Maven Central,http://repo.spring.io/release,以及 bintray。

干杯!

1 个流、2 个应用程序和 3 个 Spring Cloud Data Flow 的依赖项

工程 | Josh Long | 2016 年 4 月 5 日 | ...

我只是想在这里记录一下昨天让我感到高兴的一段经历:在短短几分钟内,让快速改进的 Spring Cloud Data Flow 从(Spring Boot)启动器转变为服务!

唯一的先决条件是运行一个 Redis 实例。我的 Redis 实例运行在 127.0.0.1 上,Spring Boot 不需要进一步的配置就可以找到并与其协同工作。

我们将使用史诗级的 Spring Initializr 来快速生成我们的应用程序。还记得那些愚蠢的 Apple 广告,“有个应用来解决它?” (There's an App For That?) 别管它了,这儿有个复选框来解决它! 让我们…

本周 Spring - 2016 年 3 月 29 日

工程 | Josh Long | 2016年3月30日 | ...

欢迎来到《本周 Spring》的又一期!本周我正在与客户合作,并试图将 Spring(并希望天气也如此!)带到至今仍被白雪覆盖的科罗拉多州丹佛市。

STS 中的 Spring Boot Dashboard - 第 5 部分:使用启动配置

工程 | Martin Lippert | 2016年3月29日 | ...

Spring 社区的各位,欢迎回来!

在本系列的第五部分中,我们将仔细研究 STS 3.7.3 中为 Spring Boot Dashboard 添加的对多个启动配置的新支持。

每个项目有多个启动配置

第一个版本的 Boot Dashboard 允许您快速启动和停止本地 Spring Boot 应用程序。因此,Boot Dashboard 专注于项目的特定启动配置 - 完全忽略其他启动配置。但是,每个项目有多个启动配置可能非常有用,例如以略微不同的配置多次启动同一个应用程序。

新版本的 Boot Dashboard 直接集成了启动配置的概念。如果同一个项目有多个启动配置,它们将在 Boot Dashboard 中显示为树中项目节点下的条目。

您现在可以对单个启动配置(而不是项目)使用 Boot Dashboard 的所有各种操作和功能。您可以启动单个启动配置,停止它们,跳转到它们的控制台,为正在运行的应用程序打开浏览器,标记它们,过滤它们,等等。项目节点充当启动配置的聚合器。如果您想启动或停止所有启动配置,只需按项目上的“开始”或“停止”按钮,所有启动配置都将被启动或停止。

为了帮助您处理多个启动配置,Boot Dashboard 还提供了一些用于处理启动配置的新操作,例如打开启动配置编辑器,复制现有启动配置,或删除一个。

隐藏启动配置

为了保持简单,如果一个项目只有一个启动配置,Boot Dashboard 不会显示该启动配置的条目。如果您愿意,可以通过 Boot Dashboard 视图菜单中的一个设置来更改此设置。

可能存在某些启动配置不应显示在 Boot Dashboard 中 - 以保持 Boot Dashboard 简洁易用。因此,我们添加了一个选项来从 Boot Dashboard 中隐藏单个启动配置。如果您打开启动配置,可以在此处找到该开关。

结论

至此,关于 Spring Tool Suite 3.7.3 中 Spring Boot Dashboard 新功能的博客系列结束。请告诉我们您使用该仪表板的经验并提供反馈。我们很乐意通过评论此帖子或在此处提交错误报告来了解您的经验:https://issuetracker.springsource.com/browse/STS

Spring Boot Dashboard 博客系列

Spring Cloud Brixton.RC1 现已发布

工程 | Spencer Gibb | 2016年3月24日 | ...

我谨代表团队,很高兴地宣布 Spring Cloud Brixton Release Train 的第一个发布候选版本已推出。该里程碑版本现已可用,您可以在我们的 Spring Milestone 仓库 中找到它。

亮点

Brixton Release Train 的一些亮点包括:

  • 支持 Spring Boot 1.3.x 和 Spring 4.2.x
  • 通过 Spring Cloud Cluster 实现集群领导者选举和锁定
  • 通过 Spring Cloud Consul 为服务注册/发现和配置提供 Hashicorp Consul 支持
  • 通过 Spring Cloud Zookeper 为服务注册/发现、配置提供 Apache Zookeeper 支持,并在 Spring Cloud Cluster 中实现领导者选举
  • 通过 Spring Cloud Sleuth 抽象实现分布式追踪,并提供两种开箱即用的实现:一种支持日志记录(非常适合 Logstash 和 Loggregator 等日志收集器和多路复用器),另一种支持 Twitter 的 Zipkin
  • Netflix 的 Atlas Telemetry System 和下一代 Spectator Metrics 库

STS 中的 Spring Boot Dashboard - 第 4 部分:处理 Cloud Foundry manifest 文件

工程 | Martin Lippert | 2016年3月22日 | ...

Spring 社区的各位,欢迎回来!

Spring Tool Suite 的最新版本 3.7.3 引入了围绕 Spring Boot Dashboard 的多项新功能。因此,我们将继续去年开始的博客文章系列,介绍您在 IDE 中使用基于 Spring Boot 的微服务项目的新方法(您可以在底部找到前几部分的链接)。

Cloud Foundry manifest 文件

在本系列的新部分中,我们将仔细研究 Cloud Foundry manifest 文件。它们是 Cloud Foundry 的一个概念,用作定义 Cloud Foundry 上应用程序配置的快捷方式。而不是在执行“cf push”时将每个参数和配置传递到命令行,您可以将所有配置数据放入 YAML 文件中,然后将其传递给 push 命令。有关 Cloud Foundry Manifest 文件的更详细信息可以在此处找到。

Spring Boot Dashboard 的早期版本已经在使用 manifest 文件将应用程序部署到 CF,前提是项目中存在名为“manifest.yml”的文件。这样做是“幕后”进行的,为了方便您。这很好用,但也由于这种支持的“隐藏性质”而引起了混淆。

部署应用程序时选择 manifest 文件

新版本的 Spring Boot Dashboard 将 Cloud Foundry manifest 文件作为一等公民。当您首次从 Boot Dashboard 将应用程序部署到 Cloud Foundry 目标时,就会开始显示这一点。将出现一个对话框,询问您要使用哪个 manifest 文件进行此部署操作。

此对话框允许您选择要用于部署应用程序的 manifest 文件。这也允许您在项目中拥有多个 manifest 文件 - 例如,用于 Cloud Foundry 上的不同空间或不同的部署环境。您还可以通过为每次部署操作选择不同的 manifest 文件,将同一个应用程序多次部署到同一个 Cloud Foundry 目标。

对话框显示所选 manifest 文件的内容,以便您可以验证是否选择了正确的文件。如果 manifest 文件中的内容有误,您无需返回主 IDE 工作区,打开文件,进行编辑,保存,然后返回到部署操作。相反,您可以直接在对话框中编辑 manifest 文件内容。这使得将应用程序部署到 Cloud Foundry 变得非常容易。

Boot Dashboard 将记住您的选择,并在您更新 Cloud Foundry 上的项目时再次使用相同的 manifest 文件。这也意味着下次将应用程序重新部署到 Cloud Foundry 时(例如,在 Boot Dashboard 重启操作期间),所做的 manifest 文件更改将得到考虑。

当然,您可以改变主意,选择不同的 manifest 文件。上下文菜单中的一个操作允许您打开同一个“选择 manifest 文件”对话框并做出不同的选择。下一次重新部署应用程序时将考虑此更改。您还可以使用此对话框快速检查当前与项目关联的 manifest 文件。

不使用 manifest 文件进行部署

有时您还没有 manifest 文件,或者您不想使用现有的 manifest 文件。在这种情况下,您可以在对话框中选择“手动模式”。

它会打开一个用于临时 manifest 文件的编辑器区域,并用一些默认内容填充它。您可以编辑此临时 manifest 内容,添加属性或更改现有属性。这允许您完全定义应用程序应如何部署到 Cloud Foundry。

该临时 manifest 的内容不会存储在任何地方(我们可能会添加一个方便的选项来快速将手动输入的 manifest 内容保存到一个新文件中),并且 IDE 在下次更新 Cloud Foundry 上的应用程序时不会记住它。相反,Cloud Foundry 上现有的配置将被保留并用于更新应用程序。

如果您过去使用过 manifest 文件,然后决定切换到手动模式,这也同样适用。后续对应用程序的更新将保持 Cloud Foundry 上的配置不变。

CF 上的已更改配置

假设您使用 manifest 文件通过 Boot Dashboard 将应用程序部署到 Cloud Foundry。然后,您转到 Web 控制台,为已部署的应用程序添加服务 - 或更改内存设置,扩展它,或对配置进行类似的更改。如果您回到 Boot Dashboard,可能更改了应用程序的一些代码,并在 Cloud Foundry 上重新启动(因此更新)应用程序,Boot Dashboard 将再次使用 manifest 文件 - 并丢弃您在 CF 上所做的所有配置更改。为了避免这种情况,Boot Dashboard 在重新部署使用 manifest 文件的应用程序时会检查 Cloud Foundry 上的配置更改。如果发现配置不匹配,它会打开一个 diff 和 merge 对话框 - 并显示详细的更改。

此功能可以防止您意外覆盖配置更改。而且它是一个强大的对话框,允许您将 CF 上的配置更改合并到您的本地 manifest 文件中。您可以合并单个更改,也可以一次性合并所有更改。这使得更新本地 manifest 文件并包含这些更改变得容易,并且您可以在将来更新应用程序时继续使用 manifest 文件。

如果您不希望 CF 上的这些配置更改反映在您的本地 manifest 文件中,请选择“忘记 manifest”按钮,Boot Dashboard 将保持 Cloud Foundry 上的配置不变。它会将应用程序切换到“手动模式”部署。

同样,如果您想明确更改这些设置,请转到上下文菜单并选择“选择 manifest”操作。

编辑 manifest 文件

虽然 Cloud Foundry manifest 文件是配置 Cloud Foundry 应用程序的良好且清晰的方式,但编辑这些文件可能很麻烦。幸运的是,新版本的 Spring Tool Suite 附带了一个专门用于 Cloud Foundry manifest 文件的编辑器。

它为属性名称和选定的属性值提供了良好的内容辅助。

当您将鼠标悬停在属性上时,您会获得有关该属性的额外帮助以及如何以及何时使用它的示例。

键入时文件也会被验证。冲突错误会直接显示在编辑器中,与编辑 Spring Boot 属性文件或 Java 代码时显示错误的方式相同。

好消息是:这种高级编辑支持在“选择 manifest 文件”对话框中也可用(例如,在处理手动 manifest 或更改选定的 manifest 文件内容时)

即将推出

本博客系列的下一部分将涵盖对处理本地 Spring Boot 应用程序的多个启动配置的新支持。敬请关注。

Spring Boot Dashboard 博客系列

如果您恰好在五月中旬(反正去巴塞罗那总不是坏事!),不要错过参加 Spring I/O 会议的机会,我将在会上介绍 Spring 的最新和最棒的技术。此外,SpringOne Platform(八月初,拉斯维加斯)的注册也已开放,如果您想享受早鸟票价。

本周 Spring - 2016 年 3 月 22 日

工程 | Josh Long | 2016年3月22日 | ...

欢迎来到《本周 Spring》的又一期!像往常一样,我们有很多内容要介绍,所以让我们开始吧!本周我本应在巴黎比利时。不幸的是,由于最近发生在布鲁塞尔机场和地铁的悲惨、令人厌恶和懦弱的袭击事件,我不太确定我是否会亲自去比利时。然而,今晚的见面会演讲通过流媒体远程进行,通过流媒体。请继续关注我的推特账号 - @starbuxman 以获取更多信息。

话虽如此,有很多很棒的内容,所以让我们开始吧!

使用 Kotlin、Spring Boot 和 PostgreSQL 的地理空间信使

工程 | Sébastien Deleuze | 2016年3月20日 | ...

继我上一篇 Kotlin 博客文章 之后,今天我想介绍我为即将在 Spring I/O 2016 大会 上发表的演讲“使用 Kotlin 和 Spring Boot 开发地理空间 Web 服务”而开发的新 Spring Boot + Kotlin 应用程序。

处理原生数据库功能

此应用程序的目标之一是了解如何像在 NoSQL 世界中一样利用原生数据库功能。在这里,我们想使用 PostGIS 提供的地理空间支持,它是 PostgreSQL 的空间数据库扩展。原生 JSON 支持 也可以是一个很好的用例。

这个地理空间信使示例应用程序可在 GitHub 上获取

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有