背景
项目开发过程中有需要注入map的需求,但是大部分是不带默认值的配置,这里补充一下String类型默认值的配置方式
注入Map
配置文件中引入配置
test.map={"key1":"value1", "key2":"value2"}
在任意Bean中增加@Value,这里需要借助#{}
@Value("#{${test.map:} ?: {'key3': 'value3'}}")
private Map<String, String> cjrZxdhMap;
其中${test.map:}增加的冒号支持该配置参数不写入配置文件中
外层嵌套了EL表达式,使用?:进行空值判定,若判定值位空,则使用后续默认配置{‘key3’: ‘value3’}进行填充