Spring Boot 設定檔 application.properties 儲存多資料(List, Map)

在上一篇「Spring Boot 讀取設定檔詳解」之後,
想要嘗試看看陣列和集合該如何在設定檔上面呈現,以下是實驗後取得的紀錄

List

設定檔:
  
    list=aaa,bbb,ccc


程式碼:
  
    @Value("${list}")
    private List<String> list;


程式碼(包含預設值):
  
    @Value("${list:[a,b,c]}")
    private List<String> list;


第二種 List

設定檔:
  
    list2={'value1','value2'}


程式碼:
  
    @Value("#{${list2}}")
    private List<String> list2;


程式碼(包含預設值):
  
    @Value("#{${list2:{'v1','v2'}}}")
    private List<String> list2;


Map

設定檔:
  
    map={key1:'value1', key2:'value2'}


程式碼:
  
    @Value("#{${map}}")
    private Map<String, String> map;


程式碼(包含預設值):
  
    @Value("#{${map:{k1:'v1',k2:'v2'}}}")
    private Map<String, String> map;


Map<String, List<String>>

設定檔:
  
    list-in-map={key1:{'value1','value2'},key2:{'value3','value4'}}


程式碼:
  
    @Value("#{${list-in-map}}")
    private Map<String, List<String>> listInMap;


程式碼(包含預設值):
  
    @Value("#{${list-in-map:{k1:{'v1','v2'},k2:{'v3','v4'}}}}")
    private Map<String, List<String>> listInMap;




留言