SpringBoot?Profile多環(huán)境配置方式
Profile多環(huán)境配置
我們在開發(fā)項目時,通常同一套程序會被發(fā)布到幾個不同的環(huán)境,比如:開發(fā)、測試、生產(chǎn)等。其中每個環(huán)境的數(shù)據(jù)庫地址、redis地 址、服務器端口等等配置都會不同,如果在為不同環(huán)境打包時都要頻繁修改配置文件的話,那必將是個非常繁瑣且容易發(fā)生錯誤的事。
對于多環(huán)境的配置,各種項目構建工具或是框架的基本思路是一致的,通過配置多份不同環(huán)境的配置文件,再通過打包命令指定需要打包的內容之后進行區(qū)分打包,而Spring Boot 就更簡單了,打好包后,只需在不同的環(huán)境下啟動時候指定讀取的配置文件就可以了。
在Spring Boot中多環(huán)境配置文件名需要滿足application-{profile}.properties的格式,其中{profile}對應你的環(huán)境標識,比如:
- application-dev.properties:開發(fā)環(huán)境
- application-test.properties:測試環(huán)境
- application-prod.properties:生產(chǎn)環(huán)境
至于哪個具體的配置文件會被加載,需要在application.properties文件中通過spring.profiles.active屬性來設置,其值對應{profile} 值。 如:spring.profiles.active=test就會加載application-test.properties配置文件內容。
① application.properties:
# 在application.properties文件中通過spring.profiles.active屬性來設置哪個配置文件會被加載 spring.profiles.active=dev
② application-dev.properties:
server.port=8081branch=dev
③ application-prod.properties:
server.port=8083branch=prod
④ application-test.properties:
server.port=8082branch=test
⑤ 測試類:
@Controller @RequestMapping("/test") public class TestController { @Value("${branch}") private String branch; @ResponseBody @GetMapping("/branch") public String test(){ return branch; } }
⑥ 如果我們直接啟動項目,那么啟動的就是dev環(huán)境,因為我們在application.properties中配置的是dev
⑦ 打包項目(clean,install),打好包后,啟動時指定讀取的配置文件
java -jar springboot-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
Profile配置詳解
1.問題
開發(fā)環(huán)境和真實的項目環(huán)境是不樣的
- 8080
- 80
2.為什么要使用profiles
在開發(fā)中,一般有兩種環(huán)境
1,生產(chǎn)環(huán)境 [項目上線,客戶在使用中,就是生產(chǎn)環(huán)境]
2,開發(fā)環(huán)境[就是開發(fā)環(huán)境,不解釋]
- 有時候開發(fā)環(huán)境和生產(chǎn)環(huán)境的配置方法是不一樣的,那么如何快速的切換呢,這里就要使用profiles文件
3,創(chuàng)建application-dev.properties
server.port=8888
4,創(chuàng)建application-pro.properties
server.port=9999
5,配置application.properties
# spring.profiles.active=pro
6,配置application.yml[和第5點任選一個]
#配置激活哪一個配置文件 spring: profiles: active: - dev
7,刪除application.yml/.properties文件如何運行
- 右鍵運行–>Run Configruations
- 進入設置運行時的虛擬機參數(shù)
-Dspring.profiles.active=pro
8,去掉application.properties的jar包運行方式
9,yml文件的多配置塊的集成切換
#主配置,啟動哪個配置文件 spring: profiles: active: - dev #插入開發(fā)配置文件 --- spring: profiles: dev server: port: 8888 #插入生產(chǎn)的配置文件 --- spring: profiles: pro server: port: 9999
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
springboot+hutool批量生成二維碼壓縮導出功能
這篇文章主要介紹了springboot+hutool批量生成二維碼壓縮導出功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10maven中profile動態(tài)打包不同環(huán)境配置文件的實現(xiàn)
開發(fā)項目時會遇到這個問題:開發(fā)環(huán)境,測試環(huán)境,生產(chǎn)環(huán)境的配置文件不同, 打包時經(jīng)常要手動更改配置文件,本文就來介紹一下maven中profile動態(tài)打包不同環(huán)境配置文件的實現(xiàn),感興趣的可以了解一下2023-10-10Spring6.x對調度和異步執(zhí)行的注解支持示例詳解
這篇文章主要為大家介紹了Spring6.x對調度和異步執(zhí)行的注解支持示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11