摘要:在使用springboot的時候,可能經常會忽略掉springboot的版本問題。本文我們看一下springboot jar包中定義的版本資訊以及版本擷取類。本文内容相對而言比較簡單。
回想一下在java中如何定義項目的版本。這個比較簡單,隻需要在jar包增加MANIFEST.MF檔案(根目錄)并添加的如下内容即可:
Manifest-Version: 1.0
Implementation-Title: 分享牛
Implementation-Version: 1.1
關于MANIFEST.MF檔案的位置如下所示:
同樣,在springboot中spring-boot-2.0.0.M3.jar包中MANIFEST.MF定義了相關的版本資訊,具體内容如下所示:
了解了上述的版本定義之後,我們就開始說明如何進行MANIFEST.MF中定義的版本資訊值的擷取,可能聰明的小夥伴就想到了,直接讀取MANIFEST.MF檔案
并解析Implementation-Version屬性不就可以了,當然可以使用這種方式,但是我們可以直接利用Springboot架構本身提供的一些的類進行操作了,這個類就是
SpringBootVersion類,該類的定義如下所示:
當我們需要擷取springboot中的版本,隻需要調用SpringBootVersion類即可。
注意:SpringBootVersion類修飾符是final,是以我們不能定義子類去繼承該類。
SpringBootVersion類位于spring-boot-2.0.0.M3.jar包中,并且版本資訊檔案MANIFEST.MF位于spring-boot-2.0.0.M3.jar包中,那是不是我們就可以通過
spring-boot-2.0.0.M3.jar包中的任意一個類去擷取版本資訊呢?答案是肯定的。當然可以擷取到的。執行個體代碼如下:
上述代碼中,我們分别通過了SpringBootVersion類以及SpringApplication類進行版本資訊的擷取。運作上述的代碼,控制台輸出的資訊如下:
2.0.0.M3