springboot 多環(huán)境切換的方法
properties文件
profile是Spring對(duì)不同環(huán)境提供不同配置功能的支持,可以通過(guò)激活不同的環(huán)境版本,實(shí)現(xiàn)快速切換環(huán)境;
例如:
application-test.properties 代表測(cè)試環(huán)境配置
application-dev.properties 代表開(kāi)發(fā)環(huán)境配置
但是Springboot并不會(huì)直接啟動(dòng)這些配置文件,它默認(rèn)使用application.properties主配置文件;
我們需要通過(guò)一個(gè)配置來(lái)選擇需要激活的環(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: 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.書(shū)寫(xiě)格式的差異,yaml相對(duì)比較簡(jiǎn)潔,優(yōu)雅
3. YAML的缺點(diǎn):不能通過(guò)@PropertySource注解加載。如果需要使用@PropertySource注解的方式加載值,那就要使用properties文件。
到此這篇關(guān)于springboot 多環(huán)境切換的方法的文章就介紹到這了,更多相關(guān)springboot 多環(huán)境切換 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java計(jì)時(shí)器StopWatch實(shí)現(xiàn)方法代碼實(shí)例
這篇文章主要介紹了Java計(jì)時(shí)器StopWatch實(shí)現(xiàn)方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07SpringBoot異常錯(cuò)誤頁(yè)面實(shí)現(xiàn)方法介紹
在項(xiàng)目訪問(wèn)的時(shí)候我們經(jīng)常會(huì)發(fā)生錯(cuò)誤或者頁(yè)面找不到,比如:資源找不到404,服務(wù)器500錯(cuò)誤,默認(rèn)情況下springboot的處理機(jī)制都是去跳轉(zhuǎn)內(nèi)部的錯(cuò)誤地址:/error 和與之對(duì)應(yīng)的一個(gè)錯(cuò)誤頁(yè)面2022-09-09基于Java語(yǔ)言實(shí)現(xiàn)Socket通信的實(shí)例
今天小編就為大家分享一篇關(guān)于基于Java語(yǔ)言實(shí)現(xiàn)Socket通信的實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01SpringBoot整合Redis使用@Cacheable和RedisTemplate
本文主要介紹了SpringBoot整合Redis使用@Cacheable和RedisTemplate,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07SpringBoot+MyBatisPlus對(duì)Map中Date格式轉(zhuǎn)換處理的方法詳解
在?SpringBoot?項(xiàng)目中,?如何統(tǒng)一?JSON?格式化中的日期格式。本文將為大家介紹一種方法:利用MyBatisPlus實(shí)現(xiàn)對(duì)Map中Date格式轉(zhuǎn)換處理,需要的可以參考一下2022-10-10深入淺析SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用
SPI是一種使軟件框架或庫(kù)更加模塊化、可擴(kuò)展和可維護(hù)的有效方法。通過(guò)遵循“開(kāi)閉原則”,?SPI?確保了系統(tǒng)的穩(wěn)定性和靈活性,從而滿足了不斷變化的業(yè)務(wù)需求,這篇文章主要介紹了SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用,需要的朋友可以參考下2023-09-09SpringBoot+WebSocket實(shí)現(xiàn)IM及時(shí)通訊的代碼示例
項(xiàng)目中碰到需要及時(shí)通訊的場(chǎng)景,使用springboot集成websocket,即可實(shí)現(xiàn)簡(jiǎn)單的及時(shí)通訊,本文介紹springboot如何集成websocket、IM及時(shí)通訊需要哪些模塊、開(kāi)發(fā)和部署過(guò)程中遇到的問(wèn)題、以及實(shí)現(xiàn)小型IM及時(shí)通訊的代碼,需要的朋友可以參考下2023-10-10