Springboot集成Apollo配置List、Map,实现热部署方式

目录

前言

一、List

二、Map

三、Map>,>

四、Map>,>


前言

我们在《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;