springcloud項目里application.yml不加載的坑及解決
前言
在springboot里經(jīng)常使用application.properties類似的properties作為配置文件
通過配置文件進行springboot項目的配置
例如:
########################## application級別通用配置 ##########################
########################## Feign通用配置 ##########################
##### ribbon配置可以廢除了 SpringBoot升級到2.6以后的 使用LoadBalance
## 從注冊中心刷新servelist的時間 默認30秒,單位ms
ribbon.ServerListRefreshInterval=15000
## 請求連接的超時時間 默認1秒,單位ms
ribbon.ConnectTimeout=30000
## 請求處理的超時時間 默認1秒,單位ms
ribbon.ReadTimeout=30000
## 對所有操作請求都進行重試,不配置這個MaxAutoRetries不起作用 默認false
#ribbon.OkToRetryOnAllOperations=true
## 對當前實例的重試次數(shù) 默認0
ribbon.MaxAutoRetries=0
## 切換實例的重試次數(shù) 默認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項目里,這是非常常見的
在springcloud的微服務項目
每個微服務也是使用spingboot作為基礎腳手架來搭建項目的
有些項目使用了application.yml或者bootstrap.yml,發(fā)現(xiàn)配置項無效

這里的問題,是由于沒有引入支持bootstrap.yml的包進來, 可以在項目里引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>引入以上的包即可后bootstrap.yml中的配置即可生效
在springboot的環(huán)境配置信息中,其配置信息的優(yōu)先級如下
啟動參數(shù) > properties中的配置 > yml中的配置 > configuration Center的配置。

結(jié)束語
這個坑是不經(jīng)意中遇到的,springcloud并不是一個完整的微服務的環(huán)境框架,而是一套技術(shù)框架加上一個搭建微服務的腳手架,
通過java的包依賴機制,加上使用maven和grandle構(gòu)建工具而實現(xiàn)通過java完成微服務的實現(xiàn),所以在很多的技術(shù)手段都是通過代碼或者配置方式之一的耦合方式實現(xiàn)的。 這樣勢必會在業(yè)務代碼中包含了不應該關(guān)心的東西,
這個坑如果在啟動過程中使用yml的話,是不會踩到了, 當然如果是配置中心比如nacos里的yml格式文件,只要配置中心的配置被加載了,也不會受到影響, 否則,自己在項目里添加的application.yml和bootstrap.yml就是不能加載。
加上了spring-cloud-starter-bootstrap才行, java的模塊化是實現(xiàn)上的模塊化,springcloud架構(gòu)下的云生態(tài)同樣也是實技術(shù)化上的模塊化,并不是體系上的模塊化,這點也就是springcloud在未來的云生態(tài)下止步不前的原因。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 獲取Html文本中的img標簽下src中的內(nèi)容方法
今天小編就為大家分享一篇Java 獲取Html文本中的img標簽下src中的內(nèi)容方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
base64_encode和base64_decode的JAVA實現(xiàn)
Base64 編碼其實是將3個8位字節(jié)轉(zhuǎn)換為4個6位這4個六位字節(jié) 其實仍然是8位,只不過高兩位被設置為0. 當一個字節(jié)只有6位有效時,它的取值空間為0 到 2的6次方減1 即63,也就是說被轉(zhuǎn)換的Base64編碼的每一個編碼的取值空間為(0~63).需要的朋友可以參考下2016-04-04
java對接webservice接口的4種方式總結(jié)
因工作需要和一個Sap相關(guān)系統(tǒng)以WebService的方式進行接口聯(lián)調(diào),之前僅聽過這種技術(shù),但并沒有實操過,所以將本次開發(fā)進行記錄,這篇文章主要給大家介紹了關(guān)于java對接webservice接口的4種方式,需要的朋友可以參考下2023-10-10
MybatisPlus自定義Sql實現(xiàn)多表查詢的示例
這篇文章主要介紹了MybatisPlus自定義Sql實現(xiàn)多表查詢的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
SpringBoot中發(fā)送QQ郵件功能的實現(xiàn)代碼
這篇文章主要介紹了SpringBoot中發(fā)送QQ郵件功能的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-02-02

