Apollo 中配置String、Map和List和默认值
摘要:在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和默认值的更多相关文章
- java面试-JVM调优和参数配置,如何查看JVM系统参数默认值
一.JVM的参数类型: 1.标配参数: java -version java -help 2.X参数: -Xmixed 混合模式(先编译后执行) -Xint 解释执行 -Xcomp 第一次使用就编译 ...
- 在ASP.Net MVC 中,如何在Global.asax中配置一个指向Area内部的默认Route
ASP.Net MVC 中配置Route的时候可以设置一个默认的Route. 比如我要在输入http://localhost的时候默认进入http://localhost/home/index.可以在 ...
- BPM配置故事之案例2-文本默认值
Boss感觉方便了很多,然而采购部采购员阿海却还是有点意见,他跑来找小明. 阿海:现在申请都是我在提交,申请人和申请部门能不能不要每次都要填写啊,好麻烦的. 小明:没问题,这个简单. 小明在表单中把申 ...
- c++ map内置类型的默认值(std::map default value for build-in type)
大神的帖子,留着自己备忘:http://www.it1352.com/455626.html 结论:你看到的value是整数.浮点(初始化为零)的行为是由标准定义的,你可以依赖它. 网上还有好多帖子说 ...
- 携程Apollo统一配置中心的搭建和使用
原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Ap ...
- 在VUE应用中配置ESLint(代码检查)
eslint配置方式 注释配置:使用js注释来直接嵌入ESLint配置信息到一个文件里 配置文件:使用一个js文件,JSON或者YAML文件来给整个目录和它的子目录指定配置信息.这些配置可以写在一个文 ...
- Hibernate 中配置属性详解(hibernate.properties)
Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数.多数配置参数都 有比较直观的默认值, 并有随 Hibernate一同分发的配置样例hibernate.properties ...
- c3p0配置之preferredTestQuery参数默认值探秘
http://www.mchange.com/projects/c3p0/ c3p0的配置参数preferredTestQuery用于检测数据库连接测试,检测数据库是否能连接成功. Default: ...
- bootstrap3中select2的默认值和下拉框的禁用
最近做项目用到了select2插件,需求中需要给下拉框设置默认值之后,禁用下拉框,我开始的写法是这样的 <script type="text/javascript"> ...
随机推荐
- Java开发学习(十五)----AOP入门案例及其工作流程解析
一.AOP简介 1.1 什么是AOP AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构. OOP(Object Oriented ...
- 大数据开发,Hadoop Spark太重?你试试esProc SPL
摘要:由于目标和现实的错位,对很多用户来讲,Hadoop成了一个在技术.应用和成本上都很沉重的产品. 本文分享自华为云社区<Hadoop Spark太重,esProc SPL很轻>,作者: ...
- Kafka部署安装
一.环境准备 1.jdk 8+ 2.zookeeper 3.kafka 说明:在kafka较新版本中已经集成了zookeeper,所以不用单独安装zookeeper,只需要在kafka文件目录中启动z ...
- 文件上传接入阿里云OSS
目的:将文件交给阿里云进行管理,可避免文件对本地服务器资源的占用,阿里云OSS还可根据读写偏好选择合适的文件存储类型服务器,文件异地备份等 一.阿里云OSS基础了解(前提) 1.存储空间(Bucket ...
- 让 DolphinScheduler 1.3.4 开启 Netty 日志打印,解决流程实例一直在运行中的问题
关于新一代大数据任务调度 - Apache DolphinScheduler Apache DolphinScheduler(incubator) 于 17 年在易观数科立项, 19 年 8 月进 ...
- 关于 CDH 环境中部署 Dolphinscheduler 出现 hive-jdbc 包冲突的解决办法
目前社区小伙伴经常反映在 cdh 环境中部署 Dolphinscheduler 出现 hive 包冲突的问题,报错日志信息如下: [WARN] 2020-04-29 09:55:30.815 org. ...
- NC20273 [SCOI2009]粉刷匠
题目链接 题目 题目描述 windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每 ...
- Java SE 9 模块化示例
Java SE 9 模块化示例 作者:Grey 原文地址:Java SE 9 模块化示例 说明 Java SE 9引入了模块系统,模块就是代码和数据的封装体.模块的代码被组织成多个包,每个包中包含Ja ...
- React报错之React Hook useEffect has a missing dependency
正文从这开始~ 总览 当useEffect钩子使用了一个我们没有包含在其依赖数组中的变量或函数时,会产生"React Hook useEffect has a missing depende ...
- [CF1525D] Armchairs (DP / 模拟费用流)
题面简述 一条线上等距地分布着 n n n 老鼠和 m m m 洞( m ≥ n m\geq n m≥n),这连续 n + m n+m n+m 个位置上要么是老鼠要么是洞,一个老鼠进一个洞,代价是所有 ...