文章

Spring @Value 注入 map 和 list

EL表达式+JSON写法

1
2
@Value("#{'${scio.cloud.list}'.split(',')}")private List<String> list;@Value("#{${scio.cloud.maps}}")
private Map<String,String> maps;

yml文件

1
scio.cloud.list: topic1,topic2,topic3scio.cloud.maps: "{key1: 'value1', key2: 'value2'}"

  • *

**

yml常规写法

配置类

1
@EnableConfigurationProperties@Configuration@ConfigurationProperties(prefix = "scio.cloud")publci 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
scio:  cloud    list:      - topic1      - topic2      - topic3scio:  cloud:    maps:      key1: 'value1'      key2: 'value2'
本文由作者按照 CC BY 4.0 进行授权