最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot多種情況yml配置代碼實(shí)例

 更新時(shí)間:2020年07月06日 15:08:52   作者:爬行  
這篇文章主要介紹了Springboot多種情況yml配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

springboot 中各種配置項(xiàng)紀(jì)錄

1. @Value

最早獲取配置文件中的配置的時(shí)候,使用的就是這個(gè)注解,SpEL表達(dá)式語(yǔ)言。

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

通常我們配置的時(shí)候,不僅僅是一個(gè)單獨(dú)字段,可能是一組配置,用來(lái)組成一個(gè)對(duì)象。這個(gè)時(shí)候spring為我們提供了這個(gè)注解。

簡(jiǎn)單的對(duì)象,在yml里也可以很簡(jiǎn)單的寫出來(lái)。直接把每一個(gè)字段寫出即可。

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

# 配置示例
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 對(duì)象定義如下:

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

 /**===========簡(jiǎn)單對(duì)象===========*/
 /**
  * 對(duì)象
  */
 private SimpleConfig simpleConfig;
 /**
  * 字符串?dāng)?shù)組1
  */
 private List<String> str1;
 /**
  * 字符串?dāng)?shù)組1
  */
 private List<String> str2;
 /**
  * 鍵值對(duì)
  */
 private Map<String, String> configMap;

 /**
  * ===========多個(gè)復(fù)雜對(duì)象==========
  */
 /**
 	* 對(duì)象集合
 	*/
 private List<SimpleConfig> simpleConfigs;
 /**
 * 對(duì)象作為map值
 */
 private Map<String, SimpleConfig> configObjMap;


 @Data
 public static class SimpleConfig { // 注意:這里需要內(nèi)部類是public的,要不然注入的時(shí)候會(huì)出錯(cuò)。
  private String config;
  private int count;
 }
}

以上就是各種情況的書寫。其實(shí)也不難,list 就增加 - 來(lái)作為單個(gè)對(duì)象標(biāo)識(shí),而map就直接寫key即可。

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

底層都是通過(guò)一個(gè)ResourceReloadingMap來(lái)存儲(chǔ)的,那么存儲(chǔ)list的時(shí)候,是什么結(jié)構(gòu)呢,如下:

// 存儲(chǔ)的時(shí)候是這樣的:

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

所以最終都是通過(guò)鍵值對(duì)的方式,只是對(duì)應(yīng)的格式,spring可以解析成對(duì)應(yīng)的樣子而已。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用RabbitMQ延時(shí)隊(duì)列(小白必備)

    SpringBoot使用RabbitMQ延時(shí)隊(duì)列(小白必備)

    這篇文章主要介紹了SpringBoot使用RabbitMQ延時(shí)隊(duì)列(小白必備),詳細(xì)的介紹延遲隊(duì)列的使用場(chǎng)景及其如何使用,需要的小伙伴可以一起來(lái)了解一下
    2019-12-12
  • 有關(guān)tomcat內(nèi)存溢出的完美解決方法

    有關(guān)tomcat內(nèi)存溢出的完美解決方法

    下面小編就為大家?guī)?lái)一篇有關(guān)tomcat內(nèi)存溢出的完美解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • Java詳細(xì)解析下拉菜單和彈出菜單的使用

    Java詳細(xì)解析下拉菜單和彈出菜單的使用

    這篇文章主要介紹了怎么用Java來(lái)創(chuàng)建和使用下拉菜單和彈出菜單,下拉菜單和彈出菜單是我們經(jīng)常要用的工具,但是你有想過(guò)自己怎么去實(shí)現(xiàn)它嗎,感興趣的朋友跟隨文章往下看看吧
    2022-04-04
  • Java獲取請(qǐng)求頭信息的操作步驟

    Java獲取請(qǐng)求頭信息的操作步驟

    這篇文章主要介紹了Java獲取請(qǐng)求頭信息,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Maven中plugins與pluginManagement的區(qū)別說(shuō)明

    Maven中plugins與pluginManagement的區(qū)別說(shuō)明

    這篇文章主要介紹了Maven中plugins與pluginManagement的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java的Struts框架中Action的編寫與攔截器的使用方法

    Java的Struts框架中Action的編寫與攔截器的使用方法

    這篇文章主要介紹了Java的Struts框架中Action的編寫與攔截器的使用方法,Struts框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • 雪花算法(snowflak)生成有序不重復(fù)ID的Java實(shí)現(xiàn)代碼

    雪花算法(snowflak)生成有序不重復(fù)ID的Java實(shí)現(xiàn)代碼

    雪花算法是一種分布式系統(tǒng)中生成唯一ID的方法,由41位時(shí)間戳、10位機(jī)器碼和12位序列號(hào)組成,具有唯一性、有序性和高效率等優(yōu)點(diǎn),這篇文章主要介紹了雪花算法(snowflak)生成有序不重復(fù)ID的Java實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • 詳解Java中字符流與字節(jié)流的區(qū)別

    詳解Java中字符流與字節(jié)流的區(qū)別

    這篇文章主要介紹了詳解Java中字符流與字節(jié)流的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Maven Repository倉(cāng)庫(kù)的具體使用

    Maven Repository倉(cāng)庫(kù)的具體使用

    本文主要介紹了Maven Repository倉(cāng)庫(kù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java枚舉實(shí)現(xiàn)自增賦值的方法

    Java枚舉實(shí)現(xiàn)自增賦值的方法

    在Java編程里,枚舉(enum)其實(shí)是一種特別的類型,用來(lái)表示一組常量,當(dāng)我們開(kāi)發(fā)程序的時(shí)候,常常需要給這些枚舉加點(diǎn)其他功能,比如自增賦值的方法,這樣就能更方便地管理和使用啦,這篇文章和大家聊聊,怎么在Java中實(shí)現(xiàn)枚舉的自增賦值
    2025-04-04

最新評(píng)論

萨迦县| 剑阁县| 太保市| 盐津县| 定兴县| 光山县| 新兴县| 朝阳区| 杭州市| 上栗县| 新宁县| 陆丰市| 正宁县| 虹口区| 十堰市| 柘城县| 安陆市| 宝兴县| 洞口县| 芜湖县| 如皋市| 铁力市| 沁源县| 扶风县| 绥德县| 萨迦县| 合阳县| 大埔县| 吴江市| 沁源县| 临沧市| 郯城县| 成都市| 修文县| 瑞昌市| 涿州市| 思南县| 延寿县| 定西市| 海门市| 永平县|