搞事情?Spring Boot今天一口氣發佈三個版本

學無止境?本文已被 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

  • Spring Boot 2.3.1 -> Spring Boot 2.3.2
  • Spring Boot 2.2.8 -> Spring Boot 2.2.9
  • Spring Boot 2.1.15 -> Spring Boot 2.1.16


這次發版,距離上次正式發版(不區分分支)已足足有44天之久。
spring

有哪些升級?

參考github上的Release詳情,三個分支有以下三方面的改進:json

  1. 🐞 修復bug
  2. 📔 文檔同步
  3. 🔨 升級依賴

🐞 修復bug

小版本號的升級,最重要的使命就是修復bug,這是它存在的意義。針對這三個版本,各自的bug修復總數以下:segmentfault

  • 2.3.2:34個。遙遙領先
  • 2.2.9:10個。
  • 2.1.16:1個。

能發現規律吧,版本越新,bug越多,這是符合常理的。另外,從小版本號裏能知道:2.1.x版本都修復16次bug了,而2.3.x才第2次修復,正處於bug井噴階段呢。因此一味的追新的話,還需謹慎哈。微服務

也許你會吐槽,Spring Boot這啥編碼水平,咋這麼多bug?其實非也,個數雖多(其實也還好),但每個都是非嚴重bug,影響甚微,無需大驚小怪。post

另外,從bug的緣由上來看,很多bug是各個版本都有的共性問題。好比2.1.x版本那個惟一的bug,其它兩個版本均有:
學習

📔 文檔同步

此part用於對文檔上的改變作出一些說明,好比文字描述錯誤、排班不正確等等。舉例本次的一個修復:編碼

修復前:

修復後:

不得不說,這老外還挺較真(挺仔細)的。

🔨 升級依賴

因爲是小版本的升級,所以對應的依賴也是小版本升級。舉例:

  • Tomcat升級到9.0.37
  • Spring Framework升級到5.2.8(此版本4天前發佈)

值得注意的是,拿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個新特性,瞭解一下:

  1. 改進 Kubernates Liveness/Readiness 健康指標和探針配置
  2. 添加運行鏡像選項用於Docker鏡像構建
  3. 增長對reactive Elasticsearch的健康檢查
小貼士:小版本號的升級是能夠新增這種很小的功能點的,但不容許新增大功能

三個版本核心依賴的區別

Spring Boot目前活躍的分支有3個,也就是這三個主線版本。那麼他們三在覈心依賴上有啥區別呢?A哥特地翻資料幫你整理了一下,繪製以下表:

說明:由於表格兼容性不太好,因此我以圖片方式展現

關於1.5.x和2.0.x版本

這兩個分支已是古董分支了:

stale中文意思:不新鮮的,老掉牙的,沒有新意的

它們早已壽終正寢,最後一個版本和發佈時間爲:

  • 1.5.22.RELEASE,2019.08
  • 2.0.9.RELEASE,2019.04

有意思的是,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官方是認真的,但你能認真起來嗎?歪果仁,這是週末唉,大家不用休息的嗎?疫情期間在家辦公就這麼任性?

相關推薦:

關注A哥

Author A哥(YourBatman)
我的站點 www.yourbatman.cn
E-mail yourbatman@qq.com
微 信 fsx641385712
活躍平臺
公衆號 BAT的烏托邦(ID:BAT-utopia)
知識星球 BAT的烏托邦
每日文章推薦 每日文章推薦

BAT的烏托邦

相關文章
相關標籤/搜索