SpringBoot yaml中的数组类型取值方式
更新时间:2021年09月09日 10:45:49 作者:五洋捉鳖zz
这篇文章主要介绍了SpringBoot yaml中的数组类型取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
yaml中的数组类型取值
yaml中简单的风格,十分受大家的欢迎
先说下简单的配置如何取值
# application-dev.yml
testValue:
testValueChild: testValueChildValue
...
// SomeServiceImpl.java
@Service
public class SomeServiceImpl {
// 这样就可以直接拿到配置信息啦
@Value("${testValue.TestValueChild}")
private String testValueChild;
...
}
有些时候我们会需要一些数组类型,下面简单介绍一种配置信息为数组的写法,比如我们有以下格式的配置,数据同步是否开启,以及数据同步需要同步的数据类型,
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的数组形式
配置文件
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')一致,不然就会取不到数据。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
IntelliJ IDEA 2022.1.1 沒有CVS的过程分析
这篇文章主要介绍了IntelliJ IDEA 2022.1.1 沒有CVS的过程解析,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07
SpringBoot+Redis+Lua防止IP重复防刷攻击的方法
本文主要介绍了SpringBoot+Redis+Lua防止IP重复防刷攻击的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-12-12


最新评论