Spring Boot依赖于Spring,而Spring Cloud又依赖于Spring Boot,所以Spring Boot2.0的发布正式整合了Spring5.0的不少特性,一样后面Spring Cloud最新版本的发布也须要整合最新的Spring Boot2.0内容。java
也就是说Spring Boot2.0的最低版本要求为JDK8,据了解国内大部分的互联网公司系统都还跑在JDK1.6/7上,所以想要升级到Spring Boot2.0的同窗们注意啦,同时支持了Java9,也仅仅是支持而已。react
使用 Spring WebFlux/WebFlux.fn提供响应式 Web 编程支持, Webflux 是一个全新的非堵塞的函数式 Reactive Web 框架,能够用来构建异步的、非堵塞的、事件驱动的服务,在伸缩性方面表现很是好,此功能来源于Spring5.0。web
Spring Boot2.0也提供对响应式编程的自动化配置,如:Reactive Spring Data、Reactive Spring Security 等redis
在Tomcat, Undertow 和 Jetty 中均已支持 HTTP/2spring
引入对 Kotlin 1.2.x 的支持,并提供了一个 runApplication 函数,让你经过惯用的 Kotlin 来运行 Spring Boot 应用程序。sql
全新的执行器架构,支持 Spring MVC, WebFlux 和 Jersey数据库
Spring Boot1.0并无提供对 Quartz 的支持,以前出现了各类集成方案,Spring Boot2.0给出了最简单的集成方式。编程
大大的简化了安全自动配置tomcat
Metrics 方面,Spring Boot 2引入了Micrometer,来统一metrics的规范,使得开发人员更好的理解和使用metrics的模块,而不须要关心对接的具体存储是什么。安全
Spring Boot 2 加强了对 Micrometer 的集成。RabbitMQ、JVM 线程和垃圾收集指标会自动进行 instrument 监控,异步控制器(controller)也会自动添加到监控里。经过集成,还能够对 InfluxDB 服务器进行监控。
Spring Boot 2支持了Thymeleaf 3,Thymeleaf 3相对于Thymeleaf 2性能提高可不是一点点,由于2.0的性能确实不咋地,同时也使用了新的页面解析系统。
同时也加入了 对于OAuth 2.0的支持, 使得开发人员更加友好的使用spring-security来完成权限模块的开发
注意:最后还有一个小彩蛋,Spring Boot2.0支持了动态gif的启动logo打印.
Spring 如今做为Java开源界的老大,它的一举一动都影响着行业的技术方向,在此次发布的 Release Notes中发现有不少的技术都尚未了解过,也分享出来:
WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。Spring webflux 有一个全新的非堵塞的函数式 Reactive Web 框架,能够用来构建异步的、非堵塞的、事件驱动的服务,在伸缩性方面表现很是好。
非阻塞的关键预期好处是可以以小的固定数量的线程和较少的内存进行扩展。在服务器端 WebFlux 支持2种不一样的编程模型:
默认状况下,Spring Boot 2使用Netty WebFlux,由于Netty在异步非阻塞空间中被普遍使用,异步非阻塞链接能够节省更多的资源,提供更高的响应度。经过比较Servlet 3.1非阻塞I / O没有太多的使用,由于使用它的成本比较高,Spring WebFlux打开了一条实用的通路。
值得注意的是:支持reactive编程的数据库只有MongoDB, redis, Cassandra, Couchbase
相比 HTTP/1.x,HTTP/2 在底层传输作了很大的改动和优化:
JOOQ 是基于Java访问关系型数据库的工具包。JOOQ 既吸收了传统ORM操做数据的简单性和安全性,又保留了原生sql的灵活性,它更像是介于 ORMS和JDBC的中间层。对于喜欢写sql的码农来讲,JOOQ能够彻底知足你控制欲,能够是用Java代码写出sql的感受来。
Lettuce是一个可伸缩的线程安全的Redis客户端,用于同步,异步和反应使用。 多个线程能够共享同一个RedisConnection。它利用优秀netty NIO框架来高效地管理多个链接。 支持先进的Redis功能,如Sentinel,集群,流水线,自动从新链接和Redis数据模型。
国内使用Jedis的居多,看来之后要多研究研究Lettuce了。
HikariCP是一个高性能的JDBC链接池。Hikari是日语“光”的意思。多是目前java业界最快的数据库链接池。
Flyway是独立于数据库的应用、管理并跟踪数据库变动的数据库版本管理工具。用通俗的话讲,Flyway能够像SVN管理不一样人的代码那样,管理不一样人的sql脚本,从而作到数据库同步。
Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等
若是想要升级也请先从早期的版本升级到Spring Boot1.5X系列以后,再升级到Spring Boot2.0版本,Spring Boot2.0的不少配置内容和Spring Boot1.0不一致须要注意。