摘要:在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和默认值的更多相关文章

  1. java面试-JVM调优和参数配置,如何查看JVM系统参数默认值

    一.JVM的参数类型: 1.标配参数: java -version java -help 2.X参数: -Xmixed 混合模式(先编译后执行) -Xint  解释执行 -Xcomp 第一次使用就编译 ...

  2. 在ASP.Net MVC 中,如何在Global.asax中配置一个指向Area内部的默认Route

    ASP.Net MVC 中配置Route的时候可以设置一个默认的Route. 比如我要在输入http://localhost的时候默认进入http://localhost/home/index.可以在 ...

  3. BPM配置故事之案例2-文本默认值

    Boss感觉方便了很多,然而采购部采购员阿海却还是有点意见,他跑来找小明. 阿海:现在申请都是我在提交,申请人和申请部门能不能不要每次都要填写啊,好麻烦的. 小明:没问题,这个简单. 小明在表单中把申 ...

  4. c++ map内置类型的默认值(std::map default value for build-in type)

    大神的帖子,留着自己备忘:http://www.it1352.com/455626.html 结论:你看到的value是整数.浮点(初始化为零)的行为是由标准定义的,你可以依赖它. 网上还有好多帖子说 ...

  5. 携程Apollo统一配置中心的搭建和使用

    原文链接:https://blog.csdn.net/luhong327/article/details/81453001 一.Apollo配置中心介绍 1.What is Apollo 1.1 Ap ...

  6. 在VUE应用中配置ESLint(代码检查)

    eslint配置方式 注释配置:使用js注释来直接嵌入ESLint配置信息到一个文件里 配置文件:使用一个js文件,JSON或者YAML文件来给整个目录和它的子目录指定配置信息.这些配置可以写在一个文 ...

  7. Hibernate 中配置属性详解(hibernate.properties)

    Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数.多数配置参数都 有比较直观的默认值, 并有随 Hibernate一同分发的配置样例hibernate.properties ...

  8. c3p0配置之preferredTestQuery参数默认值探秘

    http://www.mchange.com/projects/c3p0/ c3p0的配置参数preferredTestQuery用于检测数据库连接测试,检测数据库是否能连接成功. Default: ...

  9. bootstrap3中select2的默认值和下拉框的禁用

    最近做项目用到了select2插件,需求中需要给下拉框设置默认值之后,禁用下拉框,我开始的写法是这样的 <script type="text/javascript"> ...

随机推荐

  1. 中国顶级程序员,从金山WPS走出来,自研了“表格编程”神器

    程序员的圈子里有很多如明星般闪耀的牛人! 有中国"第一代程序员"--求伯君,有在微信获得巨大成功的张小龙,有图灵奖获得者姚期智,有商业巨子张一鸣,更有开源影响力人物--章亦春. 章 ...

  2. 实践GoF的23种设计模式:观察者模式

    摘要:当你需要监听某个状态的变更,且在状态变更时通知到监听者,用观察者模式吧. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:观察者模式>,作者: 元闰子 . 简介 现在有 ...

  3. 零基础学Java(12)静态字段与静态方法

    静态字段与静态方法   之前我们都定义的main方法都被标记了static修饰符,那到底是什么意思?下面我们来看看 静态字段   如果将一个字段定义为static,每个类只有一个这样的字段.而对于非静 ...

  4. 使用Properties集合存储数据,遍历取出Properties集合中的数据和Properties集合中的方法store和load

    package com.yang.Test.PropertiesStudy; import java.io.FileWriter; import java.io.IOException; import ...

  5. 业务可视化-让你的流程图"Run"起来(4.实际业务场景测试)

    前言 首先,感谢大家对上一篇文章[业务可视化-让你的流程图"Run"起来(3.分支选择&跨语言分布式运行节点)]的支持. 下面我以实际业务场景为例,来介绍一下ladybug ...

  6. CSS样式快速入门

    CSS样式快速入门 前言 前端基础的博客主要分为HTML.CSS和JavaScript,本类博客主要用于记录博主的学习过程和分享学习经验,由于博主学识浅薄,经验不足,难免会出现错误,欢迎大家提出问题. ...

  7. docker 安装gitlab

    # docker 安装gitlab # 一.安装镜像(官网文档) export GITLAB_HOME=/srv/gitlab # 必须先设置它,它就是你存储代码仓库的位置.以后要移植的时候直接把这个 ...

  8. 1.2 Hadoop快速入门

    1.2 Hadoop快速入门 1.Hadoop简介 Hadoop是一个开源的分布式计算平台. 提供功能:利用服务器集群,根据用户定义的业务逻辑,对海量数据的存储(HDFS)和分析计算(MapReduc ...

  9. 两天时间学习的html的知识笔记

    坚持努力背 特殊字符: 空格符  < 小于号 <> 大于号 >& 和号 &¥ 人民币 ¥  版权 ©R 注册商标 ®. 摄氏度 ° 正负号 ±X 乘号 × 除号 ...

  10. 从零开始Blazor Server(9)--修改Layout

    目前我们的MainLayout还是默认的,这里我们需要修改为BootstrapBlazor的Layout,并且处理一下菜单. 修改MainLayout BootstrapBlazor已经自带了一个La ...