一、JDK版本最低Java 8,同时支持Java9
SpringBoot 2.0要求Java 8作为最低版本。 许多现有的API已被更新以利用Java 8的特性,例如:接口上的默认方法,函数回调以及新的API,如javax.time。 如果您当前正在使用Java 7或更早版本,则在开发Spring Boot 2.0应用程序之前,您需要升级您的JDK。
SpringBoot 2.0在JDK9也可以正常运行,并且已经通过JDK9进行了测试
二、第三方库升级
SpringBoot 2.0建立在Spring Framework 5之上,并且需要Spring Framework 5。官方已尽可能升级到其它第三方最新稳定版本的jar。本版本中一些显着的依赖性升级包括:Tomcat 8.5、Flyway 5、Hibernate 5.2、Thymeleaf 3。
SpringFramework 5.0 一些功能:
(1)支持 JDK 9 和 Java EE 8 级别的 API(如Servlet 4.0);
(2)与 Reactor 3.1, JUnit5, 和 Kotlin 语言的全面集成;
(3)带来了许多函数式 API 变体 (functional API variants);
(4)响应式堆栈 Web 框架 Spring WebFlux;
(5)完全支持 JUnit 5 Jupiter,因此可以在 JUnit 5 中编写测试;
(6)添加对 @Nullable 和 @NotNull 注解的支持,以在编译时而不是运行时处理空指针异常;
三、提供响应式 Web 编程支持
(1)使用 Spring WebFlux/WebFlux.fn 提供响应式 Web 编程支持。
(2)为各种组件的响应式编程提供了自动化配置,如:Reactive Spring Data、Reactive SpringSecurity 等。
(3)用于响应式 Spring Data Cassandra, MongoDB, Couchbase 和Redis 的自动化配置和启动器 POM。
四、支持HTTP/2
为Tomcat,Undertow和Jetty提供HTTP / 2支持。
五、支持Kotlin
引入对 Kotlin 1.2.x 的支持,并提供了一个 runApplication 函数,让你通过惯用的 Kotlin 来运行 Spring Boot 应用程序。
六、Actuator改进
全新的Actuator架构,支持 Spring MVC, WebFlux 和 Jersey
七、支持Quartz
为了对支持Quartz增加了一个新的starter: spring-boot-starter-quartz 。
八、banner支持GIF
为了好玩,Spring Boot 2.0现在支持动画GIF banner。