官方表示, 这个版本经历了 17 个月的开发, 有 215 个不同的使用者提供了超过 6800 次的提交该版本是自 4 年前发布 Spring Boot 1.0 以来的第一次重大修订, 也是首个提供对 Spring Framework 5.0 支持的 GA 稳定版本
Spring Boot 2.0 主要有以下特性(详见: Spring Boot 2.0 Release Notes)
基于 Java 8, 支持 Java 9
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 DataReactive Spring Security 等
用于响应式 Spring Data Cassandra, MongoDB, Couchbase 和 Redis 的自动化配置和启动器 POM
支持 HTTP/2
HTTP/2 是第二代的 HTTP 协议, Spring Boot 的 Web 容器选择中 Tomcat, Undertow 和 Jetty 均已支持 HTTP/2
Gradle 插件
Spring Boot 的 Gradle 插件已基本重写, 有了许多重大改进 Spring Boot 2.0 要求 Gradle 4.x
引入对 Kotlin 1.2.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
支持 Quartz 调度程序
Spring Boot 2 针对 Quartz 调度器提供了支持你可以加入 spring-boot-starter-quartz starter 来启用而且支持基于内存和基于 jdbc 两种存储
动画 ASCII 艺术
最后一项, 仅仅是为了好玩, 启动时的 ASCII 图像 Spring Boot banner 现已支持 GIF
来源: https://juejin.im/entry/5a9b4595f265da23945ef05e