欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot多種情況yml配置代碼實例

 更新時間:2020年07月06日 15:08:52   作者:爬行  
這篇文章主要介紹了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;
 /**
  * 字符串數(shù)組1
  */
 private List<String> str1;
 /**
  * 字符串數(shù)組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 { // 注意:這里需要內(nèi)部類是public的,要不然注入的時候會出錯。
  private String config;
  private int count;
 }
}

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

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

底層都是通過一個ResourceReloadingMap來存儲的,那么存儲list的時候,是什么結(jié)構(gòu)呢,如下:

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 關于SpringMVC對Restful風格的支持詳解

    關于SpringMVC對Restful風格的支持詳解

    Restful就是一個資源定位及資源操作的風格,不是標準也不是協(xié)議,只是一種風格,是對http協(xié)議的詮釋,下面這篇文章主要給大家介紹了關于SpringMVC對Restful風格支持的相關資料,需要的朋友可以參考下
    2022-01-01
  • selenium+java環(huán)境搭建過程推薦

    selenium+java環(huán)境搭建過程推薦

    這篇文章主要介紹了selenium+java環(huán)境搭建過程推薦,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot利用filter實現(xiàn)xss防御功能

    SpringBoot利用filter實現(xiàn)xss防御功能

    Cross-Site?Scripting(跨站腳本攻擊)簡稱?XSS,是一種代碼注入攻擊,攻擊者通過在目標網(wǎng)站上注入惡意腳本,使之在用戶的瀏覽器上運行,利用這些惡意腳本,攻擊者可獲取用戶的敏感信息,本文給大家介紹了SpringBoot利用filter實現(xiàn)xss防御功能,需要的朋友可以參考下
    2024-09-09
  • java阻塞隊列BlockingQueue詳細解讀

    java阻塞隊列BlockingQueue詳細解讀

    這篇文章主要介紹了java阻塞隊列BlockingQueue詳細解讀,在新增的Concurrent包中,BlockingQueue很好的解決了多線程中,如何高效安全“傳輸”數(shù)據(jù)的問題,通過這些高效并且線程安全的隊列類,為我們快速搭建高質(zhì)量的多線程程序帶來極大的便利,需要的朋友可以參考下
    2023-10-10
  • SpringCloud網(wǎng)關組件Gateway原理深度解析

    SpringCloud網(wǎng)關組件Gateway原理深度解析

    Spring Cloud Gateway是Spring Cloud微服務生態(tài)下的網(wǎng)關組件,一些基礎的請求預處理的邏輯可以統(tǒng)一實現(xiàn)在網(wǎng)關這一層,這樣業(yè)務服務只需要專注于處理業(yè)務邏輯即可,所以本文就帶大家深度解析網(wǎng)關組件Gateway,需要的朋友可以參考下
    2023-07-07
  • @MapperScan注解與@Mapper注解的使用

    @MapperScan注解與@Mapper注解的使用

    這篇文章主要介紹了@MapperScan注解與@Mapper注解的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 在idea中g(shù)it pull失敗的解決方案

    在idea中g(shù)it pull失敗的解決方案

    在遇到Git Pull失敗時,首先使用IDEA的git-revert功能進行還原,然后檢查并解決分支沖突,最后重新執(zhí)行Git Pull確保所有文件是最新的,注意,在操作過程中確保網(wǎng)絡連接正常,并且每步操作后都要執(zhí)行Git Pull來更新數(shù)據(jù)
    2024-10-10
  • idea插件篇之java內(nèi)存分析工具(JProfiler)的使用

    idea插件篇之java內(nèi)存分析工具(JProfiler)的使用

    這篇文章主要介紹了idea插件篇之java內(nèi)存分析工具(JProfiler),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java設計模式之備忘錄模式_動力節(jié)點Java學院

    Java設計模式之備忘錄模式_動力節(jié)點Java學院

    我們在編程的時候,經(jīng)常需要保存對象的中間狀態(tài),當需要的時候,可以恢復到這個狀態(tài)。接下來通過本文給大家分享java設計模式之備忘錄模式,感興趣的的朋友一起看看吧
    2017-08-08
  • springboot讀取自定義配置文件節(jié)點的方法

    springboot讀取自定義配置文件節(jié)點的方法

    這篇文章主要介紹了springboot讀取自定義配置文件節(jié)點的方法,本文給大家介紹的非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-05-05

最新評論