91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Springboot多種情況yml配置代碼的案例

發布時間:2020-07-07 11:06:45 來源:億速云 閱讀:184 作者:清晨 欄目:開發技術

小編給大家分享一下關于Springboot多種情況yml配置代碼的案例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

springboot 中各種配置項紀錄

1. @Value

最早獲取配置文件中的配置的時候,使用的就是這個注解,SpEL表達式語言。

// 使用起來很簡單
@Value("${config.demo.value:defaultValue}")
 private String simpleValue;

通常我們配置的時候,不僅僅是一個單獨字段,可能是一組配置,用來組成一個對象。這個時候spring為我們提供了這個注解。

簡單的對象,在yml里也可以很簡單的寫出來。直接把每一個字段寫出即可。

而對復雜對象,如:list、map等的,就需要查一下資料了,這里簡單記錄一下寫法,直接看代碼。

# 配置示例
config:
 demo:
  value: testValue

  simpleConfig:
   config: testConfig

  str1: abc,cde
  str2:
   - abc
   - cde

  configMap:
   key1: value1
   海賊王: 路飛

  simpleConfigs:
   - config: 羅賓
    count: 1
   - config: 烏索普
    count: 1
   - config: 索隆
    count: 1

  configObjMap:
   key1:
    config: value1
   key2:
    config: value2

pojo 對象定義如下:

@Data
@ConfigurationProperties(prefix = "config.demo")
@Configuration
public class ConfigDemo {
 @Value("${config.demo.value:defaultValue}")
 private String simpleValue;

 /**===========簡單對象===========*/
 /**
  * 對象
  */
 private SimpleConfig simpleConfig;
 /**
  * 字符串數組1
  */
 private List<String> str1;
 /**
  * 字符串數組1
  */
 private List<String> str2;
 /**
  * 鍵值對
  */
 private Map<String, String> configMap;

 /**
  * ===========多個復雜對象==========
  */
 /**
 	* 對象集合
 	*/
 private List<SimpleConfig> simpleConfigs;
 /**
 * 對象作為map值
 */
 private Map<String, SimpleConfig> configObjMap;


 @Data
 public static class SimpleConfig { // 注意:這里需要內部類是public的,要不然注入的時候會出錯。
  private String config;
  private int count;
 }
}

以上就是各種情況的書寫。其實也不難,list 就增加 - 來作為單個對象標識,而map就直接寫key即可。

而spring在存儲properties的時候是怎么處理的呢,我們可以斷點一下 PropertyPlaceholderHelper,在這里我們可以看到存儲各種配置的source如下圖:

關于Springboot多種情況yml配置代碼的案例

底層都是通過一個ResourceReloadingMap來存儲的,那么存儲list的時候,是什么結構呢,如下:

關于Springboot多種情況yml配置代碼的案例

// 存儲的時候是這樣的:

simpleConfigs[0].config=configValue
simpleConfigs[0].count=countValue
...

所以最終都是通過鍵值對的方式,只是對應的格式,spring可以解析成對應的樣子而已。

看完了這篇文章,相信你對關于Springboot多種情況yml配置代碼的案例有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 东源县| 科技| 剑阁县| 湟源县| 道孚县| 米脂县| 银川市| 同仁县| 吉首市| 襄城县| 马鞍山市| 鹤壁市| 静乐县| 苗栗市| 都江堰市| 陆河县| 金山区| 南充市| 屏边| 方城县| 德江县| 武山县| 婺源县| 平山县| 卢龙县| 荥阳市| 巫山县| 从江县| 宣汉县| 铜梁县| 富民县| 喜德县| 夹江县| 永丰县| 滨海县| 长乐市| 密山市| 吴忠市| 项城市| 彭水|