SpringOne2GX 2015 回放:现代前端工程

新闻 | Pieter Humphrey | 2015年10月19日 | ...

录制于 SpringOne2GX 2015。

演讲者:Dustin Whittle,AppDynamics

幻灯片:http://www.slideshare.net/SpringCentral/modern-frontend-engineering

在过去十年里,Web 发展迅猛。在本次演讲中,我们将深入探讨构建现代前端工程基础的最新工具和技术。我们将从使用 Yeoman 进行引导开始,接着使用 bower 管理依赖,最后是如何使用 Grunt 和 Gulp 自动化最佳实践。我们将讨论现代 UI 工具包(如 Zurb、Bootstrap 和 SemanticUI)以及现代 JavaScript 框架(如 React、Angular 和 Ember)的优缺点。我们将重点介绍最新的 CSS 框架、JavaScript 框架,以及为什么你应该为复杂应用或单页应用选择合适的工具集。当你离开本次会议时,你将准备好在 2015 年发布一个现代 Web 应用。

SpringOne2GX 2015 回放:使用 Spring Framework 4.2 进行现代 Java 组件设计

新闻 | Pieter Humphrey | 2015年10月19日 | ...

录制于 SpringOne2GX 2015 演讲者:Juergen Holler,Stephane Nicoll 幻灯片:http://www.slideshare.net/SpringCentral/modern-java-component-design-with-spring-framework-42 Spring 的编程和配置模型在应用程序组件和配置制品方面有着强大的设计理念。Spring 基于注解的组件故事经过精心调整,以提高源代码的可读性和整个应用程序代码库的一致性。本次会议将重点介绍 Spring Framework 4 组件模型的部分亮点,并侧重于即将发布的 Spring Framework 4.2 和…

Spring Boot 1.2.7 现已可用

版本发布 | Stéphane Nicoll | 2015年10月16日 | ...

Spring Boot 1.2.7 已发布,现可从 repo.spring.ioMaven Central 获取。

此维护版本包含多项修复,最重要的是将托管的 Spring Framework 依赖更新到版本 4.1.8(其中包含一个重要的安全修复)。Spring Boot 本身也包含一个影响使用 Undertow 的应用程序的安全修复

我们建议所有 Spring Boot 用户立即升级。

项目页面 | GitHub | 问题 | 文档

Spring IO Platform 1.1.4 发布

版本发布 | Andy Wilkinson | 2015年10月16日 | ...

Spring IO Platform 1.1.4.RELEASE 现可从 repo.spring.ioMaven Central 获取。

此维护版本升级了平台中多个项目的版本,以获取其最新的维护版本

  • Spring Boot 1.2.7.RELEASE
  • Spring Data Evans SR4
  • Spring Framework 4.1.8.RELEASE
  • Spring Integration 4.1.6.RELEASE
  • Spring LDAP 2.0.4.RELEASE
  • Spring Mobile 1.1.5.RELEASE
  • Spring Security 3.2.8.RELEASE
  • Spring Session 1.0.2.RELEASE
  • Spring Social Facebook 2.0.2.RELEASE
  • Spring Social LinkedIn 1.0.2.RELEASE
  • Spring Social Twitter 1.1.2.RELEASE
  • Spring Web Flow 2.4.2.RELEASE
  • Spring Web Services 2.2.2.RELEASE

STS 中的 Spring Boot Dashboard - 第 2 部分:使用 Cloud Foundry

工程 | Martin Lippert | 2015年10月15日 | ...

欢迎回到 Spring 社区,

在我们关于 Spring Tool Suite 中新 Spring Boot Dashboard 的博客系列第二部分中,我们将超越工作空间中的本地应用,看看部署到云运行时的远程应用。如果你错过了第一部分,请先阅读它以便熟悉 STS 中的 boot dashboard。

云运行时支持

我们在 Boot Dashboard 中支持的初始远程目标是 Cloud Foundry。Boot Dashboard 的设计和实现都没有将其限制为唯一支持的远程目标,它只是我们第一个着手支持的目标。

我们的目标是提供与本地应用类似的体验,让你能够轻松地与 Cloud Foundry 上的 Spring Boot 应用进行交互、启动、停止、更新以及查找日志输出。因此,你可以使用工具栏中的大加号图标将 Cloud Foundry 部分添加到 boot dashboard。

输入凭据并选择组织/空间后,boot dashboard 中将出现一个新部分,列出部署到 Cloud Foundry 此空间的应用程序。你可以看到应用程序的名称以及配置并正在运行的实例数量。

基本操作适用于 CF 上的一个或多个应用,其方式与本地应用的操作方式相同或非常相似。你可以跳转到控制台输出,它将出现在 STS/Eclipse 的控制台视图中;你可以启动和停止应用;你可以双击它们以在浏览器窗口中查看正在运行的应用;你可以为应用配置默认路径;你还可以为这些应用添加/移除标签。如果你在 boot dashboard 的不同目标部分中选择多个条目,你甚至可以跨目标执行某些操作(例如启动和停止)。

除了适用于本地和 Cloud Foundry 上的应用的通用操作外,还有一些专门针对 Cloud Foundry 上的应用的附加操作。例如,boot dashboard 允许你从 Cloud Foundry 中完全删除一个应用,或者轻松跳转到 Web 控制台。

部署到 Cloud Foundry

到目前为止,我们讨论了 Cloud Foundry 上的现有应用。但你如何将你的应用部署到 Cloud Foundry?有多种方法,可以使用 CLI 或 Cloud Foundry 的 Eclipse 插件。boot dashboard 为你提供了另一种选择:你可以直接将你的 Spring Boot 应用拖放到 dashboard 中的 Cloud Foundry 目标上,它将把 Spring Boot 应用部署到 CF。这听起来就像它实际操作一样简单。

如果你的应用程序包含 manifest.yml 文件,它将用于为 Cloud Foundry 配置应用程序。这通常包含应用程序的名称、域名、内存设置、实例数量,以及可能更多信息。

如果你的项目中没有 manifest.yml 文件,部署操作将在对话框中提示你输入部署应用所需的基本信息。

但请注意:如果项目包含 manifest.yml 文件,它将用于部署和配置应用程序。你通过 Web 控制台对 CF 上的配置所做的更改,下次使用 boot dashboard 重新启动/重新部署/更新应用时将丢失。要么在 manifest.yml 文件中配置所有内容,要么完全不使用它——至少目前如此。我们将努力改进这一点,以允许更灵活地处理 manifest.yml 文件和应用程序配置的外部更改,但这将在 STS 的未来版本中完成。

应用部署后,boot dashboard 将保持工作空间中的项目与 Cloud Foundry 上已部署应用之间的关联(并在 boot dashboard 中显示此关联)。

保持工作空间项目与 Cloud Foundry 上的应用之间的这种关联,使得更改此应用变得容易得多。如果你在工作空间中更改代码并按下 CF 上应用的(重新)启动按钮,boot dashboard 将自动将应用(更改)重新推送到 Cloud Foundry。

一旦你在 Cloud Foundry 上部署了应用,通常不需要同时在本地处理所有内容。通常你只关注应用程序的某些部分,有时甚至希望同时使用:一些服务在 Cloud Foundry 上运行,一些服务在你的本地机器的 IDE 中运行。但它们如何交互呢?

为混合部署隧道本地服务

作为早期实验,我们在 boot dashboard 中构建了一个特定功能,允许你使用 CF 上的所有服务和应用,并让它们调用运行在你本地机器上的单个服务。这样你就可以专注于你的项目中的单个部分,并继续使用 Cloud Foundry 来处理其余部分。你可以在本地快速迭代和编写代码——并在处理 Cloud Foundry 上的其他部分时进行测试。这不是很棒吗?

其工作方式是:你需要为你的微服务建立服务发现机制。目前,我们为此功能支持 Eureka 服务发现服务。你可以使用一个名为“(re)start and expose app via ngrok”的特殊操作来启动你的本地 Spring Boot 应用。执行此操作将(重新)启动你的本地应用。同时,该操作将使用 ngrok 服务为此应用创建一个公共可见的隧道。结果是,你会获得一个公共可见的 URL,该 URL 将所有流量路由到你的本地机器以及运行在你本地机器上的本地 Spring Boot 应用。该应用会自动配置为使用此公共可见的隧道 URL 向远程 Eureka 注册。

该服务的客户端现在将从 Eureka 获取此隧道 URL,而不是(或除了)可能已在 Cloud Foundry 上运行的服务默认实例——并将调用你的本地运行的服务,而不是 CF 上的服务。你可以快速迭代你的本地服务,甚至对其进行调试。

这种混合部署场景显然不适用于生产或团队环境,在这些环境中多人同时使用 CF 上的应用程序。但这对于测试和开发环境极其有用。

对 Cloud Foundry 的支持只是一个起点。Spring Boot Dashboard 绝不限于或专注于 Cloud Foundry。未来可以并将添加其他远程云运行时。我们将着手开发的下一个运行时是 Lattice,但也非常欢迎其他运行时。如果你有兴趣在这方面进行协作,请告诉我们。Spring Boot Dashboard 是在 EPL 下开源的,我们非常乐意与你协作开发更多功能并为其添加对更多云运行时的支持。

展望

本系列的第三部分将向你介绍 Spring Boot Devtools 的内置支持,以及如何从 Boot Dashboard 中使用它们快速修改你的应用(即使在 CF 上),以及如何在 CF 上进行远程调试。

Spring Framework 4.2.2, 4.1.8 和 3.2.15 现已可用

版本发布 | Stéphane Nicoll | 2015年10月15日 | ...

我谨代表团队高兴地宣布 Spring Framework 4.2.24.1.83.2.15 维护版本现已可用

除了修复框架中的各种小问题外,这些版本旨在防止反射文件下载攻击;请查看相应的 CVE 报告了解详情。我们建议所有 Spring Framework 3.x 和 4.x 用户立即升级。

Spring Framework 4.2.2 还为最近发布的服务器Undertow 1.3 和 GlassFish 4.1.1 提供了 WebSocket 支持,以及经过微调的 CORS 和 JavaScript 支持。此版本是即将发布的Spring Boot 1.3 的基础…

Spring for Apache Hadoop 2.3 发布候选版 1 发布

版本发布 | Thomas Risberg | 2015年10月15日 | ...

我们很高兴地宣布 Spring for Apache Hadoop 2.3 RC1 版本发布。

此版本中最重要的增强功能

  • 更新构建以使用 Spring Framework 4.2.2 [SHDP-509]
  • 更新构建以使用 Spring Integration 4.2.0 [SHDP-520]
  • 向 StoreObjectSupport 添加 FlushTimeoutTrigger [SHDP-526]
  • 用新的“spring-statemachine”项目替换内部状态机实现 [SHDP-530]

有关详细信息,请参阅版本变更日志

我们继续在 Spring IO 里程碑仓库中提供带有各自传递依赖的版本特定制品

  • 2.3.0.RC1(默认 - Apache Hadoop stable 2.7.1)
  • 2.3.0.RC1-hadoop26 (Apache Hadoop 2.6.0)
  • 2.3.0.RC1-phd30 (Pivotal HD 3.0)
  • 2.3.0.RC1-phd21 (Pivotal HD 2.1)
  • 2.3.0.RC1-cdh5 (Cloudera CDH 5.4)
  • 2.3.0.RC1-hdp23 (Hortonworks HDP 2.3)

GlassFish 4.1.1 和 WildFly 10 / Undertow 1.3 上的 Spring

新闻 | Juergen Hoeller | 2015年10月14日 | ...

尽管我在上周的博客文章中指出 Java EE 7 平台采用方面没有普遍的新闻(因为目前还没有完全支持 EE 7 的 WebSphere Classic、WebLogic、JBoss EAP 甚至 TomEE),但现有的两个开源 EE 7 平台服务器——即 GlassFish 和 WildFly——在此期间取得了一些不错的进展

  • 现在有了 GlassFish 4.1.1 版本,包含许多子项目更新——其中包含对其 WebSocket 支持的 Tyrus。
  • WildFly 团队正从主要版本快速迭代,即将推出 WildFly 10 GA。底层的 Undertow Web 服务器几天前已达到 1.3 GA

React.js 和 Spring Data REST:第 4 部分 - 事件

工程 | Greg L. Turnquist | 2015年10月13日 | ...
要查看此代码的更新,请访问我们的React.js 和 Spring Data REST 教程

上一部分,你引入了条件更新,以避免在编辑相同数据时与其他用户发生冲突。你还学习了如何使用乐观锁在后端对数据进行版本控制。如果有人编辑了同一条记录,你会收到提示,以便你可以刷新页面并获取更新。

这很好。但你知道什么更好吗?当其他人更新资源时,UI 能动态响应。

在本部分中,你将学习如何使用 Spring Data REST 的内置事件系统来检测后端更改,并通过 Spring 的 WebSocket 支持向所有用户发布更新。然后,你就可以在数据更新时动态调整客户端。

欢迎从本仓库获取代码并跟随操作。本部分基于上一部分的应用程序,并添加了一些额外内容。

向项目添加 Spring WebSocket 支持

在开始之前,你需要向项目的 pom.xml 文件添加一个依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

这将引入 Spring Boot 的 WebSocket starter。

使用 Spring 配置 WebSocket

Spring 提供了强大的 WebSocket 支持。需要认识到的一点是,WebSocket 是一种非常底层的协议。它提供的功能仅限于在客户端和服务器之间传输数据。建议使用子协议(本部分使用 STOMP)来实际编码数据和路由。

以下代码用于在服务器端配置 WebSocket 支持

@Component
@EnableWebSocketMessageBroker
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
static final String MESSAGE_PREFIX = "/topic";

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
	registry.addEndpoint("/payroll").withSockJS();
}

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
	registry.enableSimpleBroker(MESSAGE_PREFIX);
	registry.setApplicationDestinationPrefixes("/app");
}

}

  • @EnableWebSocketMessageBroker 启用 WebSocket 支持。
  • AbstractWebSocketMessageBrokerConfigurer 提供了一个方便的基类来配置基本功能。
  • MESSAGE_PREFIX 是你将添加到每条消息路由前面的前缀。
  • registerStompEndpoints() 用于配置客户端和服务器连接后端的端点(/payroll)。
  • configureMessageBroker() 用于配置用于在服务器和客户端之间中继消息的 broker。

通过此配置,现在可以利用 Spring Data REST 事件并通过 WebSocket 发布它们。

订阅 Spring Data REST 事件

Spring Data REST 根据仓库上发生的动作生成多个应用程序事件。以下代码展示了如何订阅其中一些事件

@Component
@RepositoryEventHandler(Employee.class)
public class EventHandler {
private final SimpMessagingTemplate websocket;

private final EntityLinks entityLinks;

@Autowired
public EventHandler(SimpMessagingTemplate websocket, 
			EntityLinks entityLinks) {
	this.websocket = websocket;
	this…

Spring Statemachine 1.0.0 发布

版本发布 | Janne Valkealahti | 2015年10月13日 | ...

我们很高兴地宣布 Spring Statemachine 1.0.0 版本发布。首先,我想感谢所有为促成此事做出贡献的人。制品可从 Maven CentralSpring Repository 获取。

此首个版本包含的内容

  • 简单用例的易于使用的扁平一级状态机。
  • 分层状态机结构,简化复杂状态配置。
  • 状态机区域,提供更复杂的状态配置。
  • 触发器、转换、守卫和动作的使用。
  • 类型安全的配置适配器。
  • 用于在 Spring 应用程序上下文之外方便实例化 Builder 模式
  • 常见用例的范例
  • 基于 Zookeeper 的分布式状态机
  • 状态机事件监听器。
  • Spring IOC 集成,将 bean 与状态机关联。

订阅 Spring 邮件列表

订阅 Spring 邮件列表,保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

近期活动

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

查看全部