@Value注入 Map、List

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

想要通过@Value直接注入map/list,不用String再转成对应的实体。此处按照apollo配置(默认值)为例。

#Map
@Value("#{${:{29:'左脚,右脚',0:'刻字内容'}}}")
    private Map<Long, List<String>> letterTextTitles;

#List
@Value("#{'${list:{左脚,右脚}}}'.split(',')}")
private List<String> list;

注意:ymal文件配置,map解析中,一定要用"“把map所对应的value包起来,要不然解析会失败,导致不能转成 Map<String,String>
因为yaml语法中如果一个值以 “{” 开头, YAML 将认为它是一个字典, 所以我们必须引用它必须用”"