springboot讀取nacos配置文件的實(shí)現(xiàn)
SpringBoot 注冊服務(wù)到 Nacos 上,由 Nacos 來做服務(wù)的管理。在 Nacos的配置列表中,管理著服務(wù)的配置文件。SpringBoot 有兩種方式來讀取配置文件的內(nèi)容,一種是寫配置文件類 @ConfigurationProperties ,一種是使用 @Value 注解。
首先,Nacos 的配置文件如下
### 配置文件使用 yml 格式, 也可以使用 properties 格式,最終 yml 格式會轉(zhuǎn)化成 properties,但是 @Value 注解### 對 yml 的list 的格式有不同,這個稍后再說。 eg: server.yml (list參數(shù),使用逗號分隔) ? dashboard: ? ? emergent-info: key-1:value-1,key-2:value-2,key-3:value-3 ?### 或者這種形式 (注意縮進(jìn)空格,- 后空格) ? ? ? ?dashboard: ? ? emergent-info:? ?? ? ?- key-1:value-1 ? ? ? - key-2:value-2 ? ? ? - key-3:value-3 ? ? ??
第一種方式來解析
@Setter
@Getter
@ConfigurationProperties("server")
public class ServerProperties {
private List<String> dashboardEmergentInfo;
}
使用 @ConfigurationProperties 方式來解析,要對應(yīng)配置文件名,對應(yīng)屬性的key值順序和參數(shù)名的駝峰形式命名。配置文件類的方式,可以解析上面 list 的兩種寫法。
第二種方式來解析
@RefreshScope
public class DashboardController{?
@Value("${dashboard.emergent-info:}")
private List<String> emergentInfo = new ArrayList<>();
? ? ...?
} ?使用 @Value 注解的方式,代碼量是少了,但是解析不了上面配置文件的第二種方式,只能解析第一種使用逗號分隔的list數(shù)據(jù)。@Value里面的冒號后面是初始化值,這里做空處理。Nacos 修改配置文件list的內(nèi)容,@Value 注解不會時時的刷新處理數(shù)據(jù),所以在 類上加了 @RefreshScope。
到此這篇關(guān)于springboot讀取nacos配置文件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot讀取nacos配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何把spring boot項(xiàng)目部署到tomcat容器中
本文給大家分享如何把spring boot項(xiàng)目部署到tomcat容器中,本文給大家介紹的非常詳細(xì),需要的朋友參考下2017-04-04
SpringBoot項(xiàng)目中同時操作多個數(shù)據(jù)庫的實(shí)現(xiàn)方法
在實(shí)際項(xiàng)目開發(fā)中可能存在需要同時操作兩個數(shù)據(jù)庫的場景,本文主要介紹了SpringBoot項(xiàng)目中同時操作多個數(shù)據(jù)庫的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
SpringBoot實(shí)現(xiàn)簡單的登錄注冊的項(xiàng)目實(shí)戰(zhàn)
本文主要介紹了SpringBoot實(shí)現(xiàn)簡單的登錄注冊的項(xiàng)目實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
java根據(jù)開始時間結(jié)束時間計(jì)算中間間隔日期的實(shí)例代碼
這篇文章主要介紹了java根據(jù)開始時間結(jié)束時間計(jì)算中間間隔日期的實(shí)例代碼,需要的朋友可以參考下2019-05-05
springboot mybatis druid配置多數(shù)據(jù)源教程
這篇文章主要介紹了springboot mybatis druid配置多數(shù)據(jù)源教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

