prefix:
string: yw
array: array1,array2,array3
list: list1,list2,list3
map: "{
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}"
mapList: "{
key1: 'v11,v12',
key2: 'v21,v22',
key3: 'v31,v32'
}"
Java
@Value("${prefix.string:}")
private String str1;
@Value("${prefix.string:null}")
private String str2;
@Value("${prefix.string:yuan}")
private String str3;
@Value("${prefix.array:}")
private String[] array;
@Value("${prefix.array:a1,a2,a3}")
private String[] array1;
@Value("${prefix.list:}")
private List list;
@Value("#{'${prefix.list:}'.split(',')}")
private List list1;
@Value("${prefix.list:l1,l2,l3}")
private List list2;
@Value("#{'${prefix.list:l1,l2,l3}'.split(',')}")
private List list3;
@Value("#{'${prefix.list:,}'.split(',')}")
private List list4;
@Value("#{${prefix.map:{}}}")
private Map map;
@Value("#{${prefix.map:null}}")
private Map map2;
@Value("#{${prefix.map:{k1:'v1',k2:'v2'}}}")
private Map map3;
@Value("#{${prefix.mapList:{}}}")
private Map> mapList;
说明
List
- #{’${prefix.list:}’.split(’,’): #{} 内是SpEL表达式,使用 split 函数指定了分隔符;
- ${prefix.list}:不指定分隔符则会默认以英文逗号, 作为分隔符。
- key可以但不必被单引号包围
- value必须被单引号包围
指定初始值 String List Array
默认值不变
@Value("${prefix.string:}")
private String str1="init";
@Value("${prefix.string:null}")
private String str2="init";
@Value("${prefix.string:yuan}")
private String str3="init";
@Value("${prefix.array:}")
private String[] array=new String[0];
@Value("${prefix.array:a1,a2,a3}")
private String[] array1=new String[0];
@Value("${prefix.list:}")
private List list= Arrays.asList("init");
@Value("#{'${prefix.list:}'.split(',')}")
private List list1= Arrays.asList("init");
@Value("${prefix.list:l1,l2,l3}")
private List list2= Arrays.asList("init");
@Value("#{'${prefix.list:l1,l2,l3}'.split(',')}")
private List list3= Arrays.asList("init");
@Value("#{'${prefix.list:,}'.split(',')}")
private List list4= Arrays.asList("init");
Map
默认值为null的变为 空map
@Value("#{${prefix.map:{}}}")
private Map initMap= new HashMap<>();
@Value("#{${prefix.map:null}}")
private Map initMap2= new HashMap<>();
@Value("#{${prefix.map:{k1:'v1',k2:'v2'}}}")
private Map initMap3= new HashMap<>();
@Value("#{${prefix.mapList:{}}}")
private Map> initMapList= new HashMap<>();



