SpringBoot yaml中的數(shù)組類型取值方式
yaml中的數(shù)組類型取值
yaml中簡單的風(fēng)格,十分受大家的歡迎
先說下簡單的配置如何取值
# application-dev.yml
testValue:
testValueChild: testValueChildValue
...
// SomeServiceImpl.java
@Service
public class SomeServiceImpl {
// 這樣就可以直接拿到配置信息啦
@Value("${testValue.TestValueChild}")
private String testValueChild;
...
}
有些時候我們會需要一些數(shù)組類型,下面簡單介紹一種配置信息為數(shù)組的寫法,比如我們有以下格式的配置,數(shù)據(jù)同步是否開啟,以及數(shù)據(jù)同步需要同步的數(shù)據(jù)類型,
dataSync:
enable: true
type:
- "1"
- "2"
- "3"
此時無法使用@Value取值,可通過如下方式取值,
...
// 單獨注冊一個bean,用于存儲這類配置信息
@Component
@Data
@ConfigurationProperties(prefix = "data-sync")
public class DataSyncConfig {
private Boolean enable;
private List<String> types;
}
...
public class SomeServiceImpl{
@AutoWired
private DataSyncConfig dataSyncConfig;
public void youerMethod() {
List<String> types = dataSyncConfig.getTypes();
}
}
springboot配置文件yml的數(shù)組形式
配置文件
proxy:
url:
- "http://www.baidu.com"
- "http://www.jd.com"
實體類
@Data
@NoArgsConstructor
@AllArgsConstructor
@Configuration
@ConfigurationProperties(prefix = "proxy")
public class ProxyConfig {
private String[] url;
}
對象里面的引用名字(‘url'),必須和yml文件中的(‘url')一致,不然就會取不到數(shù)據(jù)。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java簡化復(fù)雜系統(tǒng)調(diào)用的門面設(shè)計模式
Java門面模式是一種結(jié)構(gòu)性設(shè)計模式,它為復(fù)雜系統(tǒng)提供了一個簡單的接口,使得系統(tǒng)的客戶端能夠更加方便地使用系統(tǒng)功能。門面模式通過封裝復(fù)雜的子系統(tǒng),隱藏系統(tǒng)的實現(xiàn)細(xì)節(jié),提高了系統(tǒng)的易用性和靈活性2023-04-04
IntelliJ?IDEA?2022.1.1?沒有CVS的過程分析
這篇文章主要介紹了IntelliJ?IDEA?2022.1.1?沒有CVS的過程解析,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法
本文主要介紹了SpringBoot+Redis+Lua防止IP重復(fù)防刷攻擊的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出
本篇文章主要介紹了Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-03-03
生產(chǎn)消費者模式實現(xiàn)方式和線程安全問題代碼示例
這篇文章主要介紹了生產(chǎn)消費者模式實現(xiàn)方式和線程安全問題代碼示例,具有一定借鑒價值,需要的朋友可以參考下2017-12-12

