摘要:在Apollo 中,配置String、Map和List等类型的信息,同时设置默认值 。
综述??随着业务需求的变更,需要在Apollo中配置一个Map<String, List>类型的变量用于标志客户信息,诸如住址、手机号和身份证号码等,而通常需要配置的就是简简单单的String、Integer等类型变量,故这里梳理一下配置String、Map和List等类型信息的方法,提升产出比 。
String??Apollo配置中心设置String的方法:
apollo.wiener.strDemo = 楼兰胡杨
??其中,key是apollo.wiener.strDemo
,value是楼兰胡杨
。java代码中使用@Value注解获取的方式:
@Value("${apollo.wiener.strDemo:wiener}")private String strDemo;
其中,默认值为wiener
。
List??Apollo配置中心设置List的方法:
apollo.wiener.listDemo = '楼兰胡杨,张三,李四'
??其中,key是apollo.wiener.listDemo
。java代码中使用@Value注解获取,使用方法:
@Value("#{'${apollo.wiener.listDemo:'wiener,张三'}'.split(',')}")private List<String> listDemo;
其中,默认值为wiener,张三
。
Map??Apollo配置中心设置Map的方法:
apollo.wiener.mapDemo = {group1:'楼兰胡杨,张三,李四',group2:'王五,店小二'}
??java代码中获取方式:
@Value("#{${apollo.wiener.mapDemo:{group0:'defaultName,Wiener'}}}")private Map<String, String> mapParam;
??其中,默认值为{group0:'defaultName,Wiener'} 。value可以是Integer等类型 。示例中value(如楼兰胡杨,张三,李四
)明显是一个数组,故此 Map 变量mapParam的类型可以转换成Map<String, List<String>>
:
@Value("#{'${apollo.wiener.mapDemo}'.split(',')}")private Map<String, List<String>> mapAndList;
??通过类型转换,是不是减少了开发工作量?可以卷起来了 。如果Value需要定义成一个Map类型的值,改怎么处理呢?
??Apollo中配置方法:
apollo.wiener.innerMapDemo = {key1:{innerKey1_1:'innerValue1_1',innerKey1_2:'innerValue1_2'},key2:{innerKey2_1:'innerValue2_1',innerKey2_2:'innerValue2_2'}}
??java代码中获取方式:
@Value("#{${apollo.wiener.innerMapDemo}}")private Map<String, Map<String, String>> innerMap;
??温馨提示:key和value都可以不用单引号,但若key或者value中包含_或-等特殊字符,则需要加上单引号,避免出错 。
小结??三人行必有我师焉!老铁们,因楼兰胡杨能力有限,文中难免出现瑕疵,如果发现bug或者有更好的idea,请在文章下方留言!
【Apollo 中配置String、Map和List和默认值】
经验总结扩展阅读
- 持续集成指南:GitLab 的 CI/CD 工具配置与使用
- springboot自动配置原理以及手动实现配置类
- 2023年10月20日打猎行吗 2023年10月20日是打猎吉日吗
- 初中地理中考考点必背
- 中国的四大名酒是什么
- 九一在中间成语
- htc手机怎么连接电脑
- 中药 中药茶饮:降脂、减肥、降压一举三得!
- 潘安庄天鹅是什么电视剧中的人物?
- 淳延是哪部电影中的人物?