springcloud項(xiàng)目里application.yml不加載的坑及解決
前言
在springboot里經(jīng)常使用application.properties類似的properties作為配置文件
通過配置文件進(jìn)行springboot項(xiàng)目的配置
例如:
########################## application級別通用配置 ########################## ########################## Feign通用配置 ########################## ##### ribbon配置可以廢除了 SpringBoot升級到2.6以后的 使用LoadBalance ## 從注冊中心刷新servelist的時(shí)間 默認(rèn)30秒,單位ms ribbon.ServerListRefreshInterval=15000 ## 請求連接的超時(shí)時(shí)間 默認(rèn)1秒,單位ms ribbon.ConnectTimeout=30000 ## 請求處理的超時(shí)時(shí)間 默認(rèn)1秒,單位ms ribbon.ReadTimeout=30000 ## 對所有操作請求都進(jìn)行重試,不配置這個(gè)MaxAutoRetries不起作用 默認(rèn)false #ribbon.OkToRetryOnAllOperations=true ## 對當(dāng)前實(shí)例的重試次數(shù) 默認(rèn)0 ribbon.MaxAutoRetries=0 ## 切換實(shí)例的重試次數(shù) 默認(rèn)1 ribbon.MaxAutoRetriesNextServer=0 ##### nacos(注冊中心和配置中心)地址 spring.cloud.nacos.server-addr=${nacos.server-addr} #spring.cloud.nacos.username=${nacos.username} #spring.cloud.nacos.password=${nacos.password}
在springboot項(xiàng)目里,這是非常常見的
在springcloud的微服務(wù)項(xiàng)目
每個(gè)微服務(wù)也是使用spingboot作為基礎(chǔ)腳手架來搭建項(xiàng)目的
有些項(xiàng)目使用了application.yml或者bootstrap.yml,發(fā)現(xiàn)配置項(xiàng)無效
這里的問題,是由于沒有引入支持bootstrap.yml的包進(jìn)來, 可以在項(xiàng)目里引入
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>
引入以上的包即可后bootstrap.yml中的配置即可生效
在springboot的環(huán)境配置信息中,其配置信息的優(yōu)先級如下
啟動(dòng)參數(shù) > properties中的配置 > yml中的配置 > configuration Center的配置。
結(jié)束語
這個(gè)坑是不經(jīng)意中遇到的,springcloud并不是一個(gè)完整的微服務(wù)的環(huán)境框架,而是一套技術(shù)框架加上一個(gè)搭建微服務(wù)的腳手架,
通過java的包依賴機(jī)制,加上使用maven和grandle構(gòu)建工具而實(shí)現(xiàn)通過java完成微服務(wù)的實(shí)現(xiàn),所以在很多的技術(shù)手段都是通過代碼或者配置方式之一的耦合方式實(shí)現(xiàn)的。 這樣勢必會(huì)在業(yè)務(wù)代碼中包含了不應(yīng)該關(guān)心的東西,
這個(gè)坑如果在啟動(dòng)過程中使用yml的話,是不會(huì)踩到了, 當(dāng)然如果是配置中心比如nacos里的yml格式文件,只要配置中心的配置被加載了,也不會(huì)受到影響, 否則,自己在項(xiàng)目里添加的application.yml和bootstrap.yml就是不能加載。
加上了spring-cloud-starter-bootstrap才行, java的模塊化是實(shí)現(xiàn)上的模塊化,springcloud架構(gòu)下的云生態(tài)同樣也是實(shí)技術(shù)化上的模塊化,并不是體系上的模塊化,這點(diǎn)也就是springcloud在未來的云生態(tài)下止步不前的原因。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 獲取Html文本中的img標(biāo)簽下src中的內(nèi)容方法
今天小編就為大家分享一篇Java 獲取Html文本中的img標(biāo)簽下src中的內(nèi)容方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06Spring cloud Feign 深度學(xué)習(xí)與應(yīng)用詳解
這篇文章主要介紹了Spring cloud Feign 深度學(xué)習(xí)與應(yīng)用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06base64_encode和base64_decode的JAVA實(shí)現(xiàn)
Base64 編碼其實(shí)是將3個(gè)8位字節(jié)轉(zhuǎn)換為4個(gè)6位這4個(gè)六位字節(jié) 其實(shí)仍然是8位,只不過高兩位被設(shè)置為0. 當(dāng)一個(gè)字節(jié)只有6位有效時(shí),它的取值空間為0 到 2的6次方減1 即63,也就是說被轉(zhuǎn)換的Base64編碼的每一個(gè)編碼的取值空間為(0~63).需要的朋友可以參考下2016-04-04java對接webservice接口的4種方式總結(jié)
因工作需要和一個(gè)Sap相關(guān)系統(tǒng)以WebService的方式進(jìn)行接口聯(lián)調(diào),之前僅聽過這種技術(shù),但并沒有實(shí)操過,所以將本次開發(fā)進(jìn)行記錄,這篇文章主要給大家介紹了關(guān)于java對接webservice接口的4種方式,需要的朋友可以參考下2023-10-10MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例
這篇文章主要介紹了MybatisPlus自定義Sql實(shí)現(xiàn)多表查詢的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08SpringBoot中發(fā)送QQ郵件功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了SpringBoot中發(fā)送QQ郵件功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02