springboot 多環(huán)境切換的方法
properties文件
profile是Spring對(duì)不同環(huán)境提供不同配置功能的支持,可以通過激活不同的環(huán)境版本,實(shí)現(xiàn)快速切換環(huán)境;
例如:application-test.properties 代表測試環(huán)境配置application-dev.properties 代表開發(fā)環(huán)境配置但是Springboot并不會(huì)直接啟動(dòng)這些配置文件,它默認(rèn)使用application.properties主配置文件;
我們需要通過一個(gè)配置來選擇需要激活的環(huán)境:
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 中加入:
server.port=8081
在 application-test.properties 中加入
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)境中指定即可:
server: port: 8081#選擇要激活那個(gè)環(huán)境spring: profiles: active: test---server: port: 8083spring: profiles: dev #配置環(huán)境的名稱---server: port: 8084spring: profiles: test #配置環(huán)境的名稱
測試就發(fā)現(xiàn)啟動(dòng)端口是8084,切換環(huán)境成功
兩種配置方式的比較
1. Properties配置多環(huán)境,需要添加多個(gè)配置文件,YAML只需要一個(gè)配件文件
yml文件本身具有區(qū)分不同環(huán)境的能力
2.書寫格式的差異,yaml相對(duì)比較簡潔,優(yōu)雅
3. YAML的缺點(diǎn):不能通過@PropertySource注解加載。如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件。
到此這篇關(guān)于springboot 多環(huán)境切換的方法的文章就介紹到這了,更多相關(guān)springboot 多環(huán)境切換 內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python全棧開發(fā)語法總結(jié)2. Python調(diào)用接口合并Excel表代碼實(shí)例3. Python如何批量生成和調(diào)用變量4. python b站視頻下載的五種版本5. ajax動(dòng)態(tài)加載json數(shù)據(jù)并詳細(xì)解析6. 通過CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫特效7. Python快速將ppt制作成配音視頻課件的操作方法8. ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)的實(shí)現(xiàn)9. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖10. 如何在Python項(xiàng)目中引入日志
