目录
前言
我们在《SpringBoot properties配置Map、List》文章中介绍了配置Map、List的方式,但是这种方式无法实现热部署,实时更新。所以每次变更配置后,需要重启服务才会生效。
目前大部分项目的配置文件都会放到Apollo里,显然这样的方式就不台合理了,本身用Apollo的初衷就是为了能灵活的修改配置,及时生效。
本文主要介绍Apollo配置List、Map,并实现热部署方式。
一、List
Apollo配置
apollo.test.list = "1,2,3"
使用方式
@Value("#{${apollo.test.list}}")
private List<String> list;
或者
Apollo配置
apollo.test.list = 1,2,3
使用方式
@Value("#{'${apollo.test.list}'.split(',')}")
private List<String> list;
也可以通过split指定分隔符
Apollo配置
apollo.test.list = a&b&c
使用方式
@Value("#{'${apollo.test.list}'.split('&')}")
private List<String> list;
二、Map
Apollo配置
apollo.test.map = {a:1,b:2}
使用方式
@Value("#{${apollo.test.map}}")
private Map<String, Integer> map;
三、Map<String, Map<String, String>>
Apollo配置
apollo.test.mapMap = {a:{a_1:"1_1",a_2:"1_2"},b:{b_1:"2_1",b_2:"2_2"}}
使用方式
@Value("#{${apollo.test.mapMap}}")
private Map<String, Map<String, String>> mapMap;
四、Map<String, List<String>>
Apollo配置
apollo.test.mapList = {a:"1,2,3",b:"4,5,6"}
使用方式
@Value("#{${apollo.test.mapList}}")
private Map<String, List<String>> mapList;