SpringBoot學習(五):springboot之profile詳解

在使用springboot中,application.properties和application.yml這兩個是默認的配置文件,有時我們想使用指定的配置文件,那麼就需要什麼Profile。

我們在編寫指定的配置文件時,文件名可以是: application-{profile}.properties/yml

我們創建了一個spring boot項目,裏面有默認默認文件application.properties,設置端口號爲8081

創建application-dev.properties,當做開發環境配置文件,設置端口號爲8082

創建application-pro.properties,當做生產環境配置文件,設置端口號爲8083

 

 

運行main(),從控制檯可以看到使用的端口號是8081,說明讀取的是默認配置文件application.properties。

No active profile set 也說明沒有激活配置文件

假設我們現在處於開發階段,需要使用的端口是8082,這裏默認的配置文件application.properties不需要指定端口號,可以這麼寫:

spring.profiles.active=dev 其中dev指的是application-dev.properties中的這個dev相對應

配置好後運行,從控制檯可以看出,這裏讀取的是開發環境配置文件,端口號8082

同理,如果想讀取application-pro.properties配置文件,可以寫spring.profiles.active=pro

 

第二種情況:

如果沒有默認的配置文件application.properties,也就沒辦法寫srping.profile.active=dev了,那要怎麼激活某個配置文件呢。

現在我們把默認的配置文件application.properties文件刪除掉。然後運行main(),從控制檯可以看出,端口號是8080,即沒有使用8082,也沒有使用8083,說明兩個配置文件都沒有激活

 

這時我們可以使用虛擬機的方式

 在VM options下使用命令:-Dspring.profiles.active=dev

控制檯輸出端口號爲8082,開發環境的配置文件已經被激活。

 

第三種情況:

默認的application.properties文件被刪除,或者裏面沒有指定要激活的配置文件(忘了寫spring.profiles.active=pro),這時項目已經被打成jar包,怎麼辦?也是可以解決的。

首先,application.properties文件已被刪除,application-dev.properties端口號是8082,application-pro.properties端口號是8083,項目已打成jar包(這裏就不敘述怎麼打jar包了),打開cmd,進入到jar所在的目錄,運行:

java -jar testproject-0.0.1-SNAPSHOT.jar

(注意:testproject-0.0.1-SNAPSHOT.jar是我jar的名字,這裏替換成自己jar名字。)

從控制檯可以看到,項目運行的端口號是8080,說明沒有激活開發/生產配置文件。

 

現在我們想激活生產配置文件,可以在java -jar testproject-0.0.1-SNAPSHOT.jar 後面 加上 --spring.profiles.active=pro

如:  java -jar testproject-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro

從圖片中可以看出,這裏使用的端口號是8083

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章