properties文件
profile是Spring對(duì)不同環(huán)境提供不同配置功能的支持,可以通過激活不同的環(huán)境版本,實(shí)現(xiàn)快速切換環(huán)境;
例如:
application-test.properties 代表測(cè)試環(huán)境配置
application-dev.properties 代表開發(fā)環(huán)境配置
但是Springboot并不會(huì)直接啟動(dòng)這些配置文件,它默認(rèn)使用application.properties主配置文件;
我們需要通過一個(gè)配置來選擇需要激活的環(huán)境:
1
|
spring.profiles.active=dev |
spring.profiles.active可以指定配置環(huán)境,如指定為dev就會(huì)選擇 application-dev.properties 文件作為配置環(huán)境,同理,要指定不同的環(huán)境配置,只需指定application-xxx.properties的xxx即可。
如此時(shí)創(chuàng)建不同的配置文件
在主配置文件中加入spring.profiles.active=dev,
在 application-dev.properties 中加入:
1
|
server.port=8081 |
在 application-test.properties 中加入
1
|
server.port=8082 |
啟動(dòng)項(xiàng)目,可以看到端口設(shè)置為了8081
springboot 啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認(rèn)配置文件:
優(yōu)先級(jí)1:項(xiàng)目路徑下的config文件夾配置文件 file: ./config/
優(yōu)先級(jí)2:項(xiàng)目路徑下配置文件:file: ./
優(yōu)先級(jí)3:資源路徑下的config文件夾配置文件 classpath: ./config/
優(yōu)先級(jí)4:資源路徑下配置文件: classpath: ./ ----------默認(rèn)創(chuàng)建application.properties的地方
yaml文件
yaml文件切換配置環(huán)境與properties文件有所不同,它可以在同一個(gè)文件中配置多套環(huán)境,只要給每套環(huán)境設(shè)置名稱,在主配置環(huán)境中指定即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
server: port: 8081 #選擇要激活那個(gè)環(huán)境 spring: profiles: active: test --- server: port: 8083 spring: profiles: dev #配置環(huán)境的名稱 --- server: port: 8084 spring: profiles: test #配置環(huán)境的名稱 |
測(cè)試就發(fā)現(xiàn)啟動(dòng)端口是8084,切換環(huán)境成功
兩種配置方式的比較
1. Properties配置多環(huán)境,需要添加多個(gè)配置文件,YAML只需要一個(gè)配件文件
yml文件本身具有區(qū)分不同環(huán)境的能力
2.書寫格式的差異,yaml相對(duì)比較簡(jiǎn)潔,優(yōu)雅
3. YAML的缺點(diǎn):不能通過@PropertySource注解加載。如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件。
到此這篇關(guān)于springboot 多環(huán)境切換的方法的文章就介紹到這了,更多相關(guān)springboot 多環(huán)境切換 內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/L_GRAND_ORDER/article/details/107722773