Spring @Value 注入 map 和 list
EL表达式+JSON写法
1
2
3
4
5
@Value("#{'${scio.cloud.list}'.split(',')}")
private List<String> list;
@Value("#{${scio.cloud.maps}}")
private Map<String,String> maps;
yml文件
1
2
scio.cloud.list: topic1,topic2,topic3
scio.cloud.maps: "{key1: 'value1', key2: 'value2'}"
- *
**
yml常规写法
配置类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@EnableConfigurationProperties
@Configuration
@ConfigurationProperties(prefix = "scio.cloud")
public class ScioCloudConfig {
private List<String> list;
private Map<String,String> maps;
public void setList(List<String> list) {
this.list = list;
}
public void setMaps(Map<String,String> maps) {
this.maps = maps;
}
}
yml常规
1
2
3
4
5
6
7
8
9
10
11
scio:
cloud:
list:
- topic1
- topic2
- topic3
scio:
cloud:
maps:
key1: 'value1'
key2: 'value2'
本文由作者按照 CC BY 4.0 进行授权