@value 注入List、Set、Map及设置默认值

${} 与 #{}
#{…} 主要用于加载外部属性文件中的值
${…} 用于执行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;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容