Springcloud Config支持本地配置文件的方法示例
背景:
Springcloud項(xiàng)目使用Springcloud-config作為分布式配置,配置參數(shù)都放在config里,不同的環(huán)境有不同的問(wèn)題:
項(xiàng)目本地:
- boostrap.yml
遠(yuǎn)程配置:
- application.yml
- application-local.yml
- application-dev.yml
- application-test.yml
- application-prod.yml
其中application-local.yml是本地開(kāi)發(fā)環(huán)境,由于開(kāi)發(fā)時(shí),經(jīng)常修改配置,就會(huì)頻繁去修改config。
所以想將application-local.yml放在項(xiàng)目本地,而不是在config里。
也就是最終變成:
項(xiàng)目本地:
- boostrap.yml
- application-local.yml
遠(yuǎn)程配置:
- application.yml
- application-dev.yml
- application-test.yml
- application-prod.yml
調(diào)整之后,發(fā)現(xiàn)項(xiàng)目啟動(dòng)失敗,項(xiàng)目并不會(huì)去讀取本地的application-local.yml,需要我們來(lái)指定加載。
調(diào)整
原先的啟動(dòng)代碼:
SpringApplication.run(Application.class, args);
改成:
new SpringApplicationBuilder(Application.class)
.properties("spring.config.location=classpath:application-${spring.profiles.active}.yml,classpath:bootstrap.yml")
.run(args);
一定要指定classpath:bootstrap.yml(如果還有其他本地文件,也是一樣),如果在沒(méi)有配置spring.config.location的情況下,項(xiàng)目會(huì)默認(rèn)加載classpath:bootstrap.yml,如果指定了就只會(huì)加載指定的配置文件。
測(cè)試用例
如果用了spring-test+junit,可以通過(guò)properties指定配置文件:
@SpringBootTest(properties = {"spring.config.location=classpath:tscm-service-oem-forecast-${spring.profiles.active}.yml,classpath:bootstrap.yml"})
也就是最終是:
@SpringBootTest(classes = {Application.class},
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {"spring.config.location=classpath:tscm-service-oem-forecast-${spring.profiles.active}.yml,classpath:bootstrap.yml"})
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于MyBatis結(jié)果映射的實(shí)例總結(jié)
結(jié)果集映射主要是為了解決屬性名和類型名不一致的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MyBatis結(jié)果映射的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
Springboot整合微信支付(訂單過(guò)期取消及商戶主動(dòng)查單)
本文主要介紹了Springboot整合微信支付(訂單過(guò)期取消及商戶主動(dòng)查單),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
java+MongoDB實(shí)現(xiàn)存圖片、下載圖片的方法示例
這篇文章主要介紹了java+MongoDB實(shí)現(xiàn)存圖片、下載圖片的方法,結(jié)合實(shí)例形式詳細(xì)分析了java結(jié)合MongoDB實(shí)現(xiàn)圖片的存儲(chǔ)與下載相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
SpringBoot使用Redis緩存的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot使用Redis緩存的實(shí)現(xiàn)方法,需要的朋友可以參考下2018-02-02
Android?Studio?中Gradle配置sonarqube插件(推薦)
Sonarqube作為一個(gè)很實(shí)用的靜態(tài)代碼分析工具,在很多項(xiàng)目中都使用,本文重點(diǎn)給大家介紹Android?Studio?中Gradle配置sonarqube插件的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2022-03-03
SpringBoot實(shí)戰(zhàn):Spring如何找到對(duì)應(yīng)轉(zhuǎn)換器優(yōu)雅使用枚舉參數(shù)
這篇文章主要介紹了SpringBoot實(shí)戰(zhàn)中Spring是如何找到對(duì)應(yīng)轉(zhuǎn)換器優(yōu)雅的使用枚舉參數(shù),文中附有詳細(xì)的實(shí)例代碼有需要的朋友可以參考下,希望可以有所幫助2021-08-08

