${} 与 #{}
#{…} 主要用于加载外部属性文件中的值
${…} 用于执行SpEl表达式,并将内容赋值给属性
#{…} 和 $ {…} 可以混合使用,但是必须#{}外面,${}在里面
@Value("${string:}") //默认空字符串
private String string;
@Value("#{'${code1:,}'.split(',')}") //默认空list
private List<String> codeList;
@Value("#{'${code1:1,2}'.split(',')}") //默认[1,2]
private List<String> codeList;
@Value("#{'${code2:,}'.split(',')}") //默认空set
private Set<String> codeSet;
@Value("#{${map1:{}}}") // 默认值是null
private Map<String,String> map1;
@Value("#{${map3:{k1:'v1',k2:'v2'}}}") // 默认值是{"k1":"v1","k2":"v2"}
private Map<String, String> map3;