@Value注入map、List,yaml格式

时间:2025-02-13 20:51:36

使用@Value注入map、List

实体类

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

 // punishMap: "{1:7,2:7,3:30,4:30,5:1825}"
@Value("#{${punishMap:}}")
private Map<Integer, Integer> punishMap;

配置文件:

list: topic1,topic2,topic3
maps: "{key1: 'value1', key2: 'value2'}"
punishMap: "{1:7,2:7,3:30,4:30,5:1825}"

ps: 注意上面的map解析中,一定要用""把map所对应的value包起来,要不然解析会失败,导致不能转成 Map<String,String>

转自:@Value注入map、List,yaml格式