SpringBoot?Profile多環(huán)境配置方式
Profile多環(huán)境配置
我們在開發(fā)項目時,通常同一套程序會被發(fā)布到幾個不同的環(huán)境,比如:開發(fā)、測試、生產等。其中每個環(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:生產環(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,生產環(huán)境 [項目上線,客戶在使用中,就是生產環(huán)境]
2,開發(fā)環(huán)境[就是開發(fā)環(huán)境,不解釋]
- 有時候開發(fā)環(huá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:
- dev7,刪除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
#插入生產的配置文件
---
spring:
profiles: pro
server:
port: 9999以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Sentinel實現(xiàn)動態(tài)配置的集群流控的方法
這篇文章主要介紹了Sentinel實現(xiàn)動態(tài)配置的集群流控,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Spring Security 實現(xiàn)“記住我”功能及原理解析
這篇文章主要介紹了Spring Security 實現(xiàn)“記住我”功能及原理解析,需要的朋友可以參考下2020-05-05
MyBatis的xml中字符串類型判空與非字符串類型判空處理方式(最新整理)
本文給大家介紹MyBatis的xml中字符串類型判空與非字符串類型判空處理方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-08-08

