百因必有果
我今天要讲的配置注入时基于*.properties文件的,yaml格式可能有点区别。借助@Value注解、SPEL表达式实现,请看以下示例:
List
@Value("#{'${}'.split(',')}")
private List<String> listType;
list.type=1,2,3,4
Set
@Value("#{'${}'.split(',')}")
private Set<String> clusterHostAndPorts;
spring.redis.cluster.nodes=10.199.153.166:7001,10.199.153.166:7002
Map
@Value("#{${}}")
private ConcurrentHashMap<String,String> map;
map.config={'01':"AA",'02':"BB",'03':"CC",'04':"DD"}
注意点:
测试的时候发现,如果key值不加引号,如果配置的key为01,而map中得到的key为1,少了个0,所以将key值加上了引号