首页 > 其他分享 >Apollo 中配置String、Map和List和默认值

Apollo 中配置String、Map和List和默认值

时间:2022-09-30 22:12:23浏览次数:121  
标签:Map 默认值 Apollo Value wiener apollo String

摘要:在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,请在文章下方留言!

标签:Map,默认值,Apollo,Value,wiener,apollo,String
From: https://www.cnblogs.com/east7/p/16746387.html

相关文章

  • k8s部署canal-server使用configMap挂载方式报Read Only file System
    k8s部署canal-server使用configMap挂载方式报ReadOnlyfileSystem1.1、问题复现由于部署canal-server时,需要修改主库master的数据库连接信息以及配置zookeeper,所以为了......
  • stream().map().collect()
    原文链接:https://blog.csdn.net/qq_42688149/article/details/1180243471示例有一个集合:Listusers=getList(); //从数据库查询的用户集合现在想获取User的身份证号......
  • 【code基础】HashMap用法
    1.hashMap赋值的简便方法for(inti=0;i<s.length();i++){charc=s.charAt(i);if(maps.containsKey(c))maps.put(c,maps.g......
  • nmap的使用
    nmap-iLlist.txtnmap192.168.10.0/24--excludefilelist.txtnmap默认情况使用TCPACKICMP发送请求-F快速-sPping扫描不会返回太多信息,方便信息分析-P0或-Pn......
  • <map>元素
    <map>元素<area>元素<map>元素的子元素设置图片的指定区域的锚链接区位<areashape=""coords=""href=""alt="">shape属性shape=rect:矩形shape=circle:圆形sh......
  • get提交的数据过大,超过了默认值。
    tomcat报错,信息:ErrorparsingHTTPrequestheaderNote:furtheroccurrencesofHTTPheaderparsingerrorswillbeloggedatDEBUGlevel  原因get提交的数......
  • MyBatis-Plus【通用Mapper篇】
    MP-通用Mapper​​一、通用Mapper​​​​二、使用方式​​​​1、源码分析​​​​:one:Insert插入方法​​​​:two:Delete删除方法​​​​:three:Update修改方法​......
  • MyBatis加载Mapper映射文件的方式
    MyBatis加载Mapper的映射文件的方式我们都知道MyBatis是一款半自动的ORM框架,它的特点就是具有灵活的sql操作MyBatis是利用mapper的映射文件,来将数据库的中字段与Java的属性......
  • Golang map 的底层原理
    前言本文介绍golang中map的实现方式,希望对读者和我有所帮助结构map是go语言中的基础的数据结构,在寻找指定key时,复杂度是O(1),在某些场景能发挥很大的作用......
  • sync.map 原理分析
    普通的map普通的map并不是并发安全的,但是在go的1.6之前不会报错,但是会出现问题,1.6之后会直接报错.例如以下代码:packagemainimport( "fmt" "time")fun......