距離Spring Boot1.0釋出已經4年了,今年3月份SpringBoot2.0正式釋出。讓我們一起來了解一下它。
Spring Boot主要依賴於Spring,整合了很多框架的使用方式,幫助開發者簡單開發。
Spring Boot2.0
整合了Spring5.0
的很多特性,也新增了很多新的功能,一起來看看吧!
基於Java 8,支援Java 9
簡而言之,知道Spring Boot 2.0
需要Java 8
作為最低版本。此外,許多現有的API已經更新,以利用Java 8的功能(包括介面上的預設方法,功能回撥和新的API,如javax.time)。如果你還沒有使用Java 8,則應在決定開發Spring Boot 2.0應用程式之前升級JDK。最新的Spring Boot版本也已經過JDK 9的測試。所有的jar包都在清單中,以便與模組系統相容。
支援Reactive網路程式設計
通過Spring WebFlux/WebFlux.fn支援Reactive網路程式設計。Spring Boot為基於註解的Spring WebFlux
應用程式和提供更多功能樣式API的WebFlux.fn
提供自動配置。
自動配置和starter-POM
為reactive Spring Data Cassandra, MongoDB, Couchbase和Redis提供自動配置和starter-POM。
Reactive Spring
Spring portfolio中的許多專案目前都為reactive applications提供了一流的支援。Reactive applications(目前完全非同步和非阻塞的)旨在用於事件迴圈執行模型(取代傳統的一個請求一個執行緒)。 Spring Boot 2.0通過自動配置和starter-POM完全支援reactive applications。 Spring Boot本身的內部也在必要時進行了更新,以提供reactive alernatives (最明顯的是嵌入式伺服器支援)。
支援嵌入式Netty
WebFlux不依賴於Servlet API,但將首次提供對嵌入式Netty的支援。POM中新增 spring-boot-starter-webflux依賴將引入Netty
4.1和Ractor Netty。
HTTP/2
為Tomcat,Undertow和Jetty提供HTTP/2
。但是,請記住,支援取決於所選的Web伺服器和應用程式環境。
Gradle Support
Spring Boot的Gradle
外掛已在很大程度上被重寫,可支援很多重大改進。 但是Spring Boot現在需要Gradle 4.x。
支援Kotlin 1.2.x
最新的Spring Boot版本還包括對Kotlin 1.2.x
的支援,並提供了一個runApplication函式,可以使用慣用的Kotlin執行Spring Boot應用程式。
JOOQ
Spring Boot 2.0現在可以根據DataSource自動檢測jOOQ
方言。 還引入了一個新的@JooqTest註釋,以簡化只需要使用jOOQ
的測試。
JOOQ
是基於Java訪問關係型資料庫的工具包。JOOQ
既吸取了傳統ORM運算元據的簡單性和安全性,又保留了原生sql的靈活性,它更像是介於 ORMS和JDBC的中間層。對於喜歡寫sql的碼農來說,JOOQ
可以完全滿足你控制慾,可以是用Java程式碼寫出sql的感覺來。
支援InfluxDB
要啟用InfluxDB
支援,您必須設定spring.influx.url屬性,並在類路徑中包含Influxdb-javaon。
本篇對SpringBoot2.0作一個簡單介紹。雖然網上介紹已經很多了,但是作為本系列的開篇,還是介紹一下比較好。 在接下來的篇章裡,將具體介紹如何使用SpringBoot2.0。