0007SpringBoot配置不同環境內容及指定啟動哪個環境


1、多profiles的形式

分別新增application-dev.properties和application-prod.properties配置文件,

其中application-dev.properties中配置端口為:server.port=8081    

其中application-prod.properties中配置端口為:server.port=8082

而原application.properties中配置的端口為:server.port=8080; 

測試:啟動引導類,發現啟動的端口為8080;

在application.properties中增加 spring.profiles.active=dev,指定加載dev環境的profile文件,即application-dev.properties,重新啟動,發現啟動端口為8081;

在application.properties中增加 spring.profiles.active=prod,指定加載prod環境的profile文件,即application-prod.properties,重新啟動,發現啟動端口為8082;

如果將spring.profiles.active=prod1,而沒有prod1對應的配置文件,則默認使用application.properties中的配置,即8080端口

2、在yml中以文檔塊的形式配置

在application.yml中以3各橫線“---”的形式進行文檔塊分隔

第一種情況:

server:
port: 8083
#spring:
# profiles:
# active: dev
---
server:
port: 8084
#spring:
# profiles: dev
---
server:
port: 8085
#spring:
# profiles: lt

3個文檔塊,但是沒有指定屬於哪種環境,所以最下邊的內容會覆蓋上邊的內容,即啟動端口為8085

第二種情況:

  

server:
port: 8083
#spring:
# profiles:
# active: dev
---
server:
port: 8084
spring:
profiles: dev
---
server:
port: 8085
spring:
profiles: lt

指定了每個文檔塊所屬環境,但是沒有指定具體啟用哪個文檔塊,則啟用默認的文檔塊,即端口8083

第三種情況:

server:
port: 8083
spring:
profiles:
active: dev
---
server:
port: 8084
spring:
profiles: dev
---
server:
port: 8085
spring:
profiles: lt

通過標紅部分指定啟用dev環境,即啟動端口號為8084

3、通過配置啟動應用的參數或者虛擬機參數的形式來啟動,則以此為准,yml中指定的啟用的哪個環境不再生效

 

 

或者通過配置VM options指定:

 

 

 

雖然配置文件指定使用dev,應該為8084,但是此處通過參數的形式指定啟用lt環境,所以真正啟用的端口為8085 

4、通過命令行的方式給定參數來指定啟用哪個環境

通過IntelliJ IDEA工中的maven -- package將項目打包,將jar包拷貝到指定目錄,打開cmd窗口,cd 到指定目錄,在該目錄下運行如下命令:

java -jar  springboot_test-0.0.1-SNAPSHOT.jar --spring.profiles.active=lt

即可啟動lt文檔塊對應 8085

 

若有理解不到位之處,望指正!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM