11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Juergen Hoeller 在 SpringOne 大会分享最新 Spring 5.0 发展蓝图:提供对 Reactive 支持

  • 2016-08-14
  • 本文字数:1517 字

    阅读完需:约 5 分钟

在拉斯维加斯举行的 SpringOne Platform 大会的第二日,Pivotal 公司首席工程师兼 Spring 框架项目负责人 Juergen Hoeller 给与会者分享了 Spring 框架的最新发展蓝图。

Spring 4.0 Pivotal 框架缩短了迭代期,大约会在每 9-10 个月进行一次主要功能发布。 4.3 版本已经在今年七月发布,预计该版本将成为 Spring 4.x 产品线的最终功能版本。该版本中进行了对于核心依赖注入框架本身的进一步改进,以及对于 Spring MVC 和网络层的改进。由于系统需求没有变更,因此该版本与 JDK 6、7 以及 8 都相互兼容,并可以运行在任何 Servlet 2.5+ 容器上。

Spring 框架 5.0 版本作为第一个里程碑版本已经在今年的七月发布,候选版本预期将在十二月左右发布。GA 版本也可能会在 2017 年第一季度发布。Spring 5.0 主要基准有重大更新,将支持 JDK 8+、Servlet 3.1+、JMS 2.0+、JPA 2.1+ 和 JUnit 5。

新版本发布的选取框功能将直接支持响应式网络应用程序,它来源于 Reactor 项目曾经实践的与 RxJava 的密切合作开发。

响应式编程是非阻塞、事件驱动的应用程序,可处理一小部分的线程,背压这种反馈机制旨在保证生产者不会完全压盖过消费者。9 和Spring 5 采纳的 Reactive Streams 规范可以确保不同供应者能在各层以及各库之间相互通信。

在 Spring 5 中,新的 Spring Web Reactive 网络框架取代了原有的 Spring Web MVC。Spring Web Reactive 支持 @Controller 编程模型,同时提供响应式的网络客户端。它的使用感觉与 Spring MVC 非常相似,但是添加了搭建在 Reactive Streams 和 Reactor 上的非阻塞语义机制。它们将消费请求,写入响应,举个例子来说,使用非阻塞响应式 API 可以让你使用背压写入 HttpSocket。

下面的示例代码摘自一篇博客文章,介绍了Spring 5.0 M1 的响应式编程,它示例了一个控制器使用完全的非阻塞和响应式方式从远端服务器获取并传送数据。

复制代码
@GetMapping("/accounts/{id}/alerts")
public Flux getAccountAlerts(@PathVariable Long id) {
return this.repository.getAccount(id)
.flatMap(account ->
this.webClient
.perform(get("/alerts/{key}", account.getKey()))
.extract(bodyStream(Alert.class)));
}

除了响应式支持,Spring 核心容器团队还将关注启动性能,尤其是在可能的环境中使用多个线程引导。在演说中,Hoeller 解释说:

当引导应用程序的时候,核心容器会起到很大的作用。在某些程度上来说,这已经是非常优化的了,但是我们也仅仅是尽最大努力给出运行时的信息。提供的信息通常只是一个 JAR 文件,基本上是类路径。

在 5.0 中我们将深入研究额外的设备使用。如果构建过程中将创建一个专门的索引,让我们可以提前了解特定的注释组件而不必完全扫描类路径?并发的引导呢?在环境中的某些让我们使用额外的引导线程的启动过程能并发运行吗?

5.0 版本中的核心容器的 Java 8 将彻底改革,启用核心框架中的一些 APIs,例如开始使用 java.util.function 类型。对于编程端点管理来说,也给出注释处理方法、lambda 表达式的 HTTP 路由和处理的一些其他选择。框架也将支持客户端和服务器端的 HTTP/2。

Spring 框架 5.0 版本预计将与 JDK9 一起发布,到那时 Spring framework 5.0 M1 将使用现有的 JDK 9 快照的至少是类路径模式正确运行。然而第一个里程碑并不支持这个新的“Jigsaw”模块化系统,对它的支持大约将在随后的里程碑版本中发布。

Hoeller 在大会上透露,鉴于 JDK 9.0 发布的进一步推迟,所以在团队认为时机合适的时候就会先发布 Spring 5.0,因此 Spring 框架 5.1 版本才会完全与 JDK 9 兼容。Spring 5.1 预计会在 2017 年底发布。

查看英文原文 Updated Spring 5.0 Roadmap and Reactive Story Presented at SpringOne

2016-08-14 19:003647
用户头像

发布了 217 篇内容, 共 58.9 次阅读, 收获喜欢 72 次。

关注

评论

发布
暂无评论
发现更多内容

面试突击:SpringBoot 有几种读取配置文件的方法?

Java编程日记

Java Spring Boot java程序员 java面试 面试突击

解放双手!根据代码自动生成时序图,这款IDEA插件真香

程序知音

Java 程序员 后端

一文揭开https原理的真实面貌(简明扼要,附代码说明)

ike潮

https TLS HTTPS协议加密 SSL/TLS 协议

HashMap为什么线程不安全?

Java面试那些事儿

Java jdk java程序员 java面试 hash map

React Native框架与小程序混编的方案

Geek_99967b

小程序

京东商品获取优惠券API接口-京东优惠券如何获取-京东联盟API接口

91320412MA2026NF7D

json API 京东商城

学习大数据编程有前途吗

小谷哥

有零有食携手阿里云&瓴羊共建企业数字化解决方案

瓴羊企业智能服务

新零售进阶|从“人-货-场”到“北极星指标”

Kyligence

新零售业态 对齐指标 管理目标

StarRocks 成都见!企业如何打造极速统一的数据分析新范式,助力业务全方位升级

StarRocks

数据库

转行大数据培训学习应该注意什么?

小谷哥

【LeetCode】层数最深叶子节点的和Java题解

Albert

LeetCode 8月月更

什么是对象存储?3000字给你整明明白白!

wljslmz

OSS 对象存储 OBS 存储技术 8月月更

java程序员培训后如何在一线城市找到工作

小谷哥

前端程序员培训学习未来的薪资怎么样

小谷哥

压缩上传的图片并返回图片路径

源字节1号

软件开发

前端编程培训学习好就业吗

小谷哥

一加是oppo旗下的品牌吗?

Geek_8a195c

Juergen Hoeller在SpringOne大会分享最新Spring 5.0发展蓝图:提供对Reactive支持_Java_Charles Humble_InfoQ精选文章