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和默認值】

    推薦閱讀