北京时间 2018 年 3 月 1 日早上,Spring Boot 2.0 如约发布,并提供了 Maven 中央仓库地址。在Spring Boot的官网中,2.0.0已经是最新的Spring Boot推荐版本。
官方表示,这个版本经历了 17 个月的开发,有 215 个不同的使用者提供了超过 6800 次的提交。该版本是自 4 年前发布 Spring Boot 1.0 以来的第一次重大修订,也是首个提供对 Spring Framework 5.0 支持的 GA 稳定版本。
Spring Boot 2.0 主要有以下特性(详见: Spring Boot 2.0 Release Notes )。
Spring Boot 2.0要求Java的版本最低为Java 8,许多现有的API已经更新,采用了Java 8的新特性,如:接口的默认方法、函数式的回调、 javax.time
等新的API。如果你还在使用Java 7或者更早的版本,那么在使用Spring Boot 2.0之前要先升级到Java 8。
Spring Boot 2.0 也针对Java 9 做了相应测试,支持良好。
Spring Boot 2.0 基于 Spring Framework 5构建,本次Spring Boot的升级,同时也升级了部分其依赖的第三方组件。主要的几个有:
Tomcat 8.5
Flyway 5
Hibernate 5.2
Thymeleaf 3
作为 Java 世界首个响应式 Web 框架,Spring 5 最大的亮点莫过于提供了完整的端到端响应式编程的支持。基于Spring 5构建的Spring Boot 2.0,在响应式编程方面给予了更好的支持,主要体现在以下几个方面:
使用 Spring WebFlux/WebFlux.fn 提供响应式 Web 编程支持
为各种组件的响应式编程提供了自动化配置,如:Reactive Spring Data、Reactive Spring Security 等
用于响应式 Spring Data Cassandra, MongoDB, Couchbase 和 Redis 的自动化配置和启动器 POM
HTTP/2是第二代的HTTP协议,Spring Boot的Web容器选择中Tomcat, Undertow 和 Jetty 均已支持 HTTP/2。
Spring Boot的Gradle插件已基本重写,所有,有了许多重大改进。Spring Boot 2.0 要求 Gradle 4.x
Spring Boot 2.0 支持 Kotlin 1.2.x,并提供了一个 runApplication
函数,让你通过惯用的 Kotlin 来运行 Spring Boot 应用程序。
在基于Spring Boot的应用程序内通过Endpoint可以根据应用程序业务需求实现自定义的监控接口,Spring 2.0 对于执行器端点(Actuator Endpoint)有很多改进和优化,经过重新设计后的Spring Boot 2 在Endpoint方面带来了全新的架构。全新的执行器架构,支持 Spring MVC, WebFlux 和 Jersey。
Spring Boot 2 针对Quartz调度器提供了支持。你可以加入spring-boot-starter-quartz starter来启用。而且支持基于内存和基于jdbc两种存储。
最后一项,仅仅是为了好玩,启动时的 ASCII 图像 Spring Boot banner 现已支持 GIF
(全文完)