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不一致須要注意。