天天看點

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

轉載聲明 : 該文章出處為 扛麻袋的少年

本文目錄:

  • 寫在開頭
  • 1.Spring Cloud 版本規則
  • 2.版本選型問題
    • 2.1 Spring Boot 選擇
    • 2.2 Spring Cloud 版本選擇
  • 3.接口方式查詢版本對應關系

寫在開頭

  接上一篇文章:微服務架構 與 Spring Cloud 的前世今生。在學習 Spring Cloud 之前,我們需要知道這麼一個前提:

Spring Cloud 必須使用 Spring Boot 開發

。是以在學習 Spring Cloud 之前,你得會使用 Spring Boot。

  截止 2020 年 7 月 7日。盡管 Spring Boot 最新版本已經是

2.3.1

,Spring Cloud 最新版本是

Hoxton SR6

,我們通常把它叫做

Spring Cloud H版

。Hoxton SR6 是什麼玩意?? 這裡就得說道說道 Spring Cloud 版本的由來了。

  由于跟随配套課程的學習,課程當初 Spring Boot 最新版本為

2.2.4

,Spring Cloud 最新版本為

Hoxton SR1

。為了學習版本的一緻,是以本文在接下來通過這兩個版本進行分析。

1.Spring Cloud 版本規則

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

  大多數 Spring 項目是以

"主版本号.次版本号.增量版本号.裡程碑版本号"

的形式命名版本。

主版本号

表示項目的重大重構;

次版本号

表示新特性的添加和變化;

增量版本号

一般表示Bug修複;

裡程碑版本号

表示某版本号的裡程碑;例如:Spring Framework 穩定版本4.3.5.RELEASE、裡程碑版本 5.0.0.M4 等。

  來到 Spring Cloud 這塊,它并未采用上面這種方式。而是以

"英文單詞SRX(X為數字)"

的形式命名版本号。

因為 Spring Cloud 是一個綜合項目,包含很多的子項目,由于子項目也維護着自己的版本号,是以采用這種命名方式避免與子項目的版本混淆。

  

"英文單詞"

叫做 Release Train(俗稱:火車發版),Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton 等都是

倫敦地鐵

的名稱,按照字母順序發行;

  

"SRX"

表示 Service Release,其中X是一個遞增數字。一般表示 Bug 後的版本;在 SR 版本釋出之前,會先釋出一個 Release 版本,例如在釋出 Edgware SR1之前,會先釋出 Edgware RELEASE。

  

"GA"

表示 General Availability,正式釋出的版本,官方推薦使用此版本。在國外都是用 GA 來說明 Release 版本的。

  

"RC"

表示 Release Candidate,候選版本,幾乎不會加入新功能,着重于除錯,是最終版之前的最後版本。

  

"SNAPSHOT"

表示 快照版本,不穩定、尚處于開發中的版本。

  

"PRE"

表示 預覽版,内部測試版。主要是給開發人員和測試人員測試和找BUG用的,不建議使用。

2.版本選型問題

提示:并不是用最新的就最好哦,這裡也是有一個對應關系的

2.1 Spring Boot 選擇

  在Spring Boot 2.x 之前,我們使用的都是1.x 版本。但是在 2.x 版本出來之後,Spring 官方推薦我們更新使用 Spring Boot 2.x 版本。

  接下來在 Spring Cloud 的學習中,我們使用的 Spring Boot 将會是 2.x 版本。 官方文檔可參考:Spring Boot 2.x 新特性。如圖所示:

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

  跟随配套課程的學習,當初 Spring Boot 最新版本為

2.2.4

,選擇最新版本來用顯然是最好的。但是在此處 Spring Boot 的選擇卻不是越新越好,這是為什麼??接下來繼續看 Spring Cloud 版本的選擇。

2.2 Spring Cloud 版本選擇

  在上文中介紹,我們已經了解了 Spring Cloud 版本命名規則。跟随配套教程的學習,當初 Spring Cloud 最新版本為

Hoxton SR1

。我們就選擇目前最新版本

Hoxton SR1

來進行學習,但是為什麼 Spring Boot 卻不能選擇最新版本呢?

  在這之間,Spring Boot 和 Spring Cloud 有一個對應關系的。在 Spring Cloud官網,我們可以找到圖中所對應的關系。

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

  圖中說明,

Spring Cloud Hoxton

版本對應的是

Spring Boot 2.2.x

版本。那麼為什麼還是不能使用當時最新的

Spring Boot 2.2.4

版本呢??我們繼續往下看,點選圖中

Reference Doc

,我們可以看到下面這樣的内容。(圖中版本為 Hoxton SR6,此處跟随教程學習使用 Hoxton SR1 版本,該圖僅用作展示 Reference Doc 的位置)

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

  除此之外,我們也可以通過官網連結來檢視版本對應關系:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/html/(此處為 Hoxton SR1 版本),圖檔如下:

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

3.接口方式查詢版本對應關系

  我們也可以通過調用接口的方式,來檢視它們的對應關系。接口如下:https://start.spring.io/actuator/info,不過這樣的方式不是太準确,它也隻是給出了一個版本之間的對應關系而已。

Spring Boot 與 Spring Cloud 之間的版本選擇寫在開頭1.Spring Cloud 版本規則2.版本選型問題3.接口方式查詢版本對應關系

出于對

沒有微服務思想

的初學者友好,特增設此篇,大佬請略過,我怕"挨打",Paola Paola

下一篇:基于 RestTemplate 搭建微服務工程

本文目錄:

  • 寫在開頭
  • 1.Spring Cloud 版本規則
  • 2.版本選型問題
    • 2.1 Spring Boot 選擇
    • 2.2 Spring Cloud 版本選擇
  • 3.接口方式查詢版本對應關系

繼續閱讀