SpringBoot多環(huán)境配置教程詳解
一、為什么要配置多環(huán)境
當我們工作開發(fā)真實的項目時,可能會遇到不同的環(huán)境,如:開發(fā)環(huán)境、生產(chǎn)環(huán)境、測試環(huán)境等,不同的環(huán)境所需要的配置內(nèi)容也會不盡相同,如果我們每次切換環(huán)境時再去配置對應(yīng)的環(huán)境配置,肯定會降低我們的開發(fā)效率,所以,掌握多環(huán)境配置還是非常有必要的。
二、如何進行多環(huán)境配置呢
我們還是以配置端口號為例,來演示如何進行多環(huán)境配置問題。
1、針對 yaml 配置文件
# 設(shè)置啟用的環(huán)境 spring: profiles: active: dev --- # 開發(fā)環(huán)境 spring: profiles: dev # 為開發(fā)環(huán)境命名 server: port: 80 --- # 生產(chǎn)環(huán)境 spring: profiles: pro # 為生產(chǎn)環(huán)境命名 server: port: 81 --- # 測試環(huán)境 spring: profiles: test # 為測試環(huán)境命名 server: port: 82
- 不同的環(huán)境之間需要用 3 個 “ - ” 號作為分割。
- 在需要使用哪個環(huán)境時,就將 active 的屬性值聲明為那個環(huán)境的名字。
- 初始 port 端口號,還可以在配置其他信息,在此我就不再一一贅述了。
2、針對 properties 配置文件
使用 yaml 配置文件,一個文件就能夠完成多環(huán)境的配置工作,但是如果使用 properties 配置文件的話,需要使用多文件才能夠完成。
主配置文件 application.properties
# 設(shè)置啟用的環(huán)境 spring.profiles.active=dev
開發(fā)環(huán)境 application-dev.properties
server.port=80
生產(chǎn)環(huán)境 application-pro.properties
server.port=81
測試環(huán)境 application-test.properties
server.port=82
- 有多少個環(huán)境,就需要定義多少個配置文件,在自己的配置文件中配置環(huán)境內(nèi)容。
- 在主配置文件中聲明使用哪個環(huán)境。
三、命令行啟動參數(shù)
通常情況下,我們都會將做好的項目打包成 jar 包,那么,如果我們在命令行中執(zhí)行 jar 包的時候能夠完成切換環(huán)境的功能嗎?還是說,我們必須在到 IDEA 開發(fā)工具中去配置文件中手動改變當前啟用的環(huán)境呢?答案當然是否定的,我們可以通過命令行參數(shù)還完成環(huán)境的切換。
第一步:打包項目
打包工作在 【SpringBoot】快速入門一文中有詳細講解,感興趣的小伙伴可以移步查看。
選中 package 后運行開始打包。
完成到找到相應(yīng)的文件夾,執(zhí)行 cmd 命令。
第二步:輸入命令行
輸入命令:java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
通過分析端口號能夠發(fā)現(xiàn),已經(jīng)切換到了測試環(huán)境中。
命令最后多了 “ --spring.profiles.active=test ” 部分內(nèi)容,仔細觀察是否發(fā)現(xiàn),這和我們在配置文件中寫的配置啟用環(huán)境內(nèi)容是不是非常像呢?沒錯,就是按照它寫的。
這就告訴我們,如果我們想使用命令行方式切換環(huán)境,可以使用上述方式進行。
補充內(nèi)容
除了使用上述方式可以完成切換環(huán)境的操作外,如果我們還想使用一個我們從未定義過的端口號該怎么做呢?
輸入命令:java -jar demo-0.0.1-SNAPSHOT.jar --server.port=90
直接使用 “ server.port=90 ” 指定臨時端口號,同樣能夠生效。
很多小伙伴不明白為什么要使用 “ server.port" 的方式指定,這是因為我們在配置文件中就是使用該方式指定端口號的,只是搬到了命令行參數(shù)上罷了。
當同時指定 “ server.port = 90 ” 和 “ spring.profiles.active=test ” 時,哪一個會起作用呢?我們不妨測試一下。
根據(jù)端口號可以得出 “ server.port = 90 ” 這個參數(shù)起作用了,說明它的優(yōu)先級更高。
對于優(yōu)先級的內(nèi)容,可以參考官網(wǎng)。
當配置多個時,優(yōu)先級高的生效。
到此這篇關(guān)于SpringBoot多環(huán)境配置教程詳解的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析
這篇文章主要介紹了Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-10-10Springmvc處理ajax請求并返回json數(shù)據(jù)
這篇文章主要介紹了Springmvc處理ajax請求并返回json數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-07-07關(guān)于SpringCloud灰度發(fā)布的實現(xiàn)
這篇文章主要介紹了關(guān)于SpringCloud灰度發(fā)布的實現(xiàn),灰度發(fā)布又稱金絲雀發(fā)布,是在系統(tǒng)升級的時候能夠平滑過渡的一種發(fā)布方式,灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時候就可以發(fā)現(xiàn)、調(diào)整問題,以保證其影響度,需要的朋友可以參考下2023-08-08解決RestTemplate 請求url中包含百分號 會被轉(zhuǎn)義成25的問題
這篇文章主要介紹了解決RestTemplate 請求url中包含百分號 會被轉(zhuǎn)義成25的問題,具有很好的參考價值,希望對大家有所幫助。2021-10-10Java利用文件輸入輸出流實現(xiàn)文件夾內(nèi)所有文件拷貝到另一個文件夾
這篇文章主要介紹了Java實現(xiàn)文件夾內(nèi)所有文件拷貝到另一個文件夾,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03SpringBoot下使用自定義監(jiān)聽事件的流程分析
事件機制是Spring的一個功能,目前我們使用了SpringBoot框架,所以記錄下事件機制在SpringBoot框架下的使用,同時實現(xiàn)異步處理,這篇文章主要介紹了SpringBoot下使用自定義監(jiān)聽事件,需要的朋友可以參考下2023-08-08