學無止境?本文已被 https://www.yourbatman.cn 收錄,裏面一併有Spring技術棧、MyBatis、JVM、中間件等小而美的 專欄供以避免費學習。關注公衆號【 BAT的烏托邦】逐個擊破,深刻掌握,拒絕淺嘗輒止。
各位好,我是A哥(YourBatman)。今天是2020-07-25,上午我正從https://start.spring.io準備down一個工程下來的時候,打開頁面發現默認選中的Spring Boot版本號是2.3.2
:
並不是我刻意的去找到這個變化,而是因爲我昨天 down下來的工程使用的Spring Boot版本是2.3.1,印象還在,因此今天一會兒就發現了差別。react
既然升級了(雖然是小版本號),那就去官方樓一眼唄。不看不知道,一看還真讓發現些內容:Spring Boot在同一天(2020-07-25)一口氣發佈了三個版本,這是要搞事情啊?
git
小貼士:本文全部時間若未作特殊說明,指的均是 北京時間
Spring Boot目前還處於Active活躍的分支共有三個:
所以就在今天,同一天裏Spring Boot對它的這三條線作了更新:github
這次發版,距離上次正式發版(不區分分支)已足足有44天之久。
spring
參考github上的Release詳情,三個分支都有以下三方面的改進:json
小版本號的升級,最重要的使命就是修復bug,這是它存在的意義。針對這三個版本,各自的bug修復總數以下:segmentfault
能發現規律吧,版本越新,bug越多,這是符合常理的。另外,從小版本號裏能知道:2.1.x版本都修復16次bug了,而2.3.x才第2次修復,正處於bug井噴階段呢。因此一味的追新的話,還需謹慎哈。微服務
也許你會吐槽,Spring Boot這啥編碼水平,咋這麼多bug?其實非也,個數雖多(其實也還好),但每個都是非嚴重bug,影響甚微,無需大驚小怪。post
另外,從bug的緣由上來看,很多bug是各個版本都有的共性問題。好比2.1.x版本那個惟一的bug,其它兩個版本均有:
學習
此part用於對文檔上的改變作出一些說明,好比文字描述錯誤、排班不正確等等。舉例本次的一個修復:編碼
修復前:
修復後:
不得不說,這老外還挺較真(挺仔細)的。
因爲是小版本的升級,所以對應的依賴也是小版本升級。舉例:
值得注意的是,拿Spring Framework
的升級舉例:Spring Boot的2.2.x和2.3.x都是升級到了5.2.8版本,而Spring Boot的2.1.x分支依賴的是Spring Framework 5.1.17
版本哦。
除此以外,Spring Boot它的最新版本,也就是2.3.2裏還新增了3個新特性,瞭解一下:
小貼士:小版本號的升級是能夠新增這種很小的功能點的,但不容許新增大功能
Spring Boot目前活躍的分支有3個,也就是這三個主線版本。那麼他們三在覈心依賴上有啥區別呢?A哥特地翻資料幫你整理了一下,繪製以下表:
說明:由於表格兼容性不太好,因此我以圖片方式展現
這兩個分支已是古董分支了:
stale中文意思:不新鮮的,老掉牙的,沒有新意的
它們早已壽終正寢,最後一個版本和發佈時間爲:
有意思的是,2.0.x版本的生命週期很是的短暫,幾乎恰好一年(2018.3 - 2019.4)。可是不能否認2.0.x版本是具備劃時代意義的,在1.5.x的基礎上垮了一大步,上了一個大臺階。
因此若是你的項目還在使用這兩個版本,特別是1.5.x,那麼儘快升級吧。官方推薦的是使用最新的2.3.x分支,這也是當前最爲活躍的分支。
小貼士:1.5.x升級到2.x.x屬於阻斷式升級,須要十分謹慎
Spring Boot做爲微服務、雲原生開發的基礎設施,每一個Java開發者都應該理解它、跟上它、學習它,才得以保證本身不掉隊,不被後浪拍死。
可是,如此之快的更新速度,Spring官方是認真的,但你能認真起來嗎?歪果仁,這是週末唉,大家不用休息的嗎?疫情期間在家辦公就這麼任性?
Author | A哥(YourBatman) |
---|---|
我的站點 | www.yourbatman.cn |
yourbatman@qq.com | |
微 信 | fsx641385712 |
活躍平臺 |
|
公衆號 | BAT的烏托邦(ID:BAT-utopia) |
知識星球 | BAT的烏托邦 |
每日文章推薦 | 每日文章推薦 |