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)文章
解決idea中debug工具欄消失后如何顯示的問(wèn)題
這篇文章主要介紹了解決idea中debug工具欄消失后如何顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Spark操作之a(chǎn)ggregate、aggregateByKey詳解
這篇文章主要介紹了Spark操作之a(chǎn)ggregate、aggregateByKey詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Spring框架實(shí)現(xiàn)AOP的兩種方式詳解
這篇文章主要為大家詳細(xì)介紹了Spring框架實(shí)現(xiàn)AOP的兩種方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的借鑒價(jià)值,需要的可以參考一下2022-09-09Spring Boot學(xué)習(xí)入門(mén)之表單驗(yàn)證
表單驗(yàn)證主要是用來(lái)防范小白搞亂網(wǎng)站和一些低級(jí)的黑客技術(shù)。Spring Boot可以使用注解 @Valid 進(jìn)行表單驗(yàn)證。下面這篇文章主要給大家介紹了關(guān)于Spring Boot學(xué)習(xí)入門(mén)之表單驗(yàn)證的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09SpringBoot如何通過(guò)@Profile注解配置多環(huán)境
在Spring中,可以使用配置文件的方式來(lái)指定不同環(huán)境下所需要的配置信息,本文給大家介紹SpringBoot如何通過(guò)@Profile注解配置多環(huán)境,感興趣的朋友跟隨小編一起看看吧2023-06-06java中判斷String類(lèi)型為空和null的幾種方法
判斷一個(gè)字符串是否為空或者為null是一個(gè)常見(jiàn)的操作,本文主要介紹了java中判斷String類(lèi)型為空和null的幾種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06jdk7 中HashMap的知識(shí)點(diǎn)總結(jié)
HashMap的原理是老生常談了,不作仔細(xì)解說(shuō)。一句話(huà)概括為HashMap是一個(gè)散列表,它存儲(chǔ)的內(nèi)容是鍵值對(duì)(key-value)映射。這篇文章主要總結(jié)了關(guān)于jdk7 中HashMap的知識(shí)點(diǎn),需要的朋友可以參考借鑒,一起來(lái)看看吧。2017-01-01