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

SpringBoot中YAML語(yǔ)法及幾個(gè)注意點(diǎn)說(shuō)明

 更新時(shí)間:2022年02月16日 11:53:53   作者:luopeng207663436  
這篇文章主要介紹了SpringBoot中YAML語(yǔ)法及幾個(gè)注意點(diǎn)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

YAML語(yǔ)法及幾個(gè)注意點(diǎn)

yaml后綴名可以是.yml或者.yaml

對(duì)于語(yǔ)法注意的一點(diǎn)是固定的縮進(jìn)來(lái)控制它的層級(jí)關(guān)系,它的key: value形式必須要要在中間有空格

實(shí)體類(setter,getter,toString省略)如下

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String lastName;
    private Integer age;
    private List<String> hobbies;
    private Map<String,Object> map;
    private Dog dog;
}

在使用了@ConfigurationProperties注解過(guò)后idea會(huì)給你發(fā)出警告,可以不管,但是這樣你在yml中配置時(shí)就沒(méi)有提示功能,所以點(diǎn)進(jìn)警告,這時(shí)你會(huì)發(fā)現(xiàn)可能出現(xiàn)網(wǎng)頁(yè)找不到的情況,這時(shí)候你只需要將網(wǎng)址欄的版本降低即可,如下

將框中的內(nèi)容放進(jìn)pom,然后重新運(yùn)行項(xiàng)目,在yaml中就會(huì)對(duì)你自己寫(xiě)的標(biāo)注了@ConfigurationProperties的類有了代碼提示功能

public class Dog {
    private String name;
    private Integer age;
}

application.yml配置文件進(jìn)行值的注入

person:
  last-name: 張三
  age: 25
  hobbies:
    - 籃球
    - 跑步
    - 吉他
  map: {k1: 你好,k2: 世界}
  dog:
    name: 狗東西
    age: 10

列表可以用上面的形式也可以用下面的形式,看清楚光標(biāo)處有空格,對(duì)象類型就可以用{},如下面的Map

yaml的松散綁定

Java中l(wèi)astName的駝峰命名法,yaml中可以用其他的形式來(lái)表示。如

last_name
last-name
lastName
LASTNAME

首次玩這個(gè)如果想在測(cè)試類里面測(cè)試,有可能你會(huì)出現(xiàn)運(yùn)行不了一直卡在Maven。。。的框里面,解決方案:我的錯(cuò)誤收集筆記

YAML語(yǔ)法簡(jiǎn)易入門

可以查看官方或者其他的博客資料,會(huì)有一大堆的內(nèi)容

YAML語(yǔ)言的設(shè)計(jì)參考了JSON,XML和SDL等語(yǔ)言。YAML 強(qiáng)調(diào)以數(shù)據(jù)為中心,簡(jiǎn)潔易讀,編寫(xiě)簡(jiǎn)單。

有意思的命名:

AML全稱是”YAML Ain’t a Markup Language”(YAML不是一種置標(biāo)語(yǔ)言)的遞歸縮寫(xiě)。 在開(kāi)發(fā)的這種語(yǔ)言時(shí),YAML 的意思其實(shí)是:”Yet Another Markup Language”(仍是一種置標(biāo)語(yǔ)言)。

語(yǔ)法特點(diǎn)

  • 大小寫(xiě)敏感
  • 通過(guò)縮進(jìn)表示層級(jí)關(guān)系
  • 禁止使用tab縮進(jìn),只能使用空格鍵 (個(gè)人感覺(jué)這條最重要)
  • 縮進(jìn)的空格數(shù)目不重要,只要相同層級(jí)左對(duì)齊即可
  • 使用#表示注釋

支持的數(shù)據(jù)結(jié)構(gòu)

  • 對(duì)象:鍵值對(duì)的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 數(shù)組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
  • 純量(scalars):?jiǎn)蝹€(gè)的、不可再分的值

雙引號(hào)和單引號(hào)的區(qū)分

雙引號(hào)"":不會(huì)轉(zhuǎn)義字符串里面的特殊字符,特殊字符作為本身想表示的意思。

yamlname: "123\n123"

輸出: 123 換行 123

如果不加引號(hào)將會(huì)轉(zhuǎn)義特殊字符,當(dāng)成字符串處理

值的寫(xiě)法

1.字符串

使用”或”“或不使用引號(hào)

yamlvalue0: 'hello World!'
value1: "hello World!"
value2: hello World!

2.布爾值

true或false表示。

3.數(shù)字

yaml12 #整數(shù)
014 # 八進(jìn)制整數(shù)
0xC #十六進(jìn)制整數(shù)
13.4 #浮點(diǎn)數(shù)
1.2e+34 #指數(shù)
.inf空值 #無(wú)窮大

4.空值

null或~表示

5.日期

使用 iso-8601 標(biāo)準(zhǔn)表示日期

yamldate: 2018-01-01t16:59:43.10-05:00

在springboot中yaml文件的時(shí)間格式 date: yyyy/MM/dd HH:mm:ss

6.強(qiáng)制類型轉(zhuǎn)換(了解)

YAML 允許使用個(gè)感嘆號(hào)!,強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型,單嘆號(hào)通常是自定義類型,雙嘆號(hào)是內(nèi)置類型。

yamlmoney: !!str
123
date: !Boolean
true

內(nèi)置類型列表

yaml!!int # 整數(shù)類型?
!!float # 浮點(diǎn)類型?
!!bool # 布爾類型?
!!str # 字符串類型?
!!binary # 也是字符串類型?
!!timestamp # 日期時(shí)間類型?
!!null # 空值?
!!set # 集合?
!!omap,!!pairs # 鍵值列表或?qū)ο罅斜?
!!seq # 序列,也是列表 !!map # 鍵值表

7.對(duì)象(重點(diǎn))

Map(屬性和值)(鍵值對(duì))的形式: key:(空格)v :表示一堆鍵值對(duì),空格不可省略。

yamlcar:
? ? color: red
? ? brand: BMW

一行寫(xiě)法

yamlcar:{color: red,brand: BMW}

相當(dāng)于JSON格式:

json{"color":"red","brand":"BMW"}

8.數(shù)組

一組連詞線開(kāi)頭的行,構(gòu)成一個(gè)數(shù)組。

yamlbrand:
? ?- audi
? ?- bmw
? ?- ferrari

一行寫(xiě)法

yamlbrand: [audi,bmw,ferrari]

相當(dāng)于JSON

json["auri","bmw","ferrari"]

9.文本塊

|:使用|標(biāo)注的文本內(nèi)容縮進(jìn)表示的塊,可以保留塊中已有的回車換行

yamlvalue: |
? ?hello
? ?world!

輸出結(jié)果:hello 換行 world!

+表示保留文字塊末尾的換行,-表示刪除字符串末尾的換行。

yamlvalue: |
hello
value: |-
hello
value: |+
hello

輸出:hello\n hello hello\n\n(有多少個(gè)回車就有多少個(gè)\n)

注意 “|” 與 文本之間須另起一行

:使用 > 標(biāo)注的文本內(nèi)容縮進(jìn)表示的塊,將塊中回車替換為空格,最終連接成一行

yamlvalue: > hello
world!

輸出:hello 空格 world!

注意 “>” 與 文本之間的空格

10.錨點(diǎn)與引用

使用 & 定義數(shù)據(jù)錨點(diǎn)(即要復(fù)制的數(shù)據(jù)),使用 * 引用錨點(diǎn)數(shù)據(jù)(即數(shù)據(jù)的復(fù)制目的地)

yamlname: &a yaml
book: *a
books:?
? ?- java
? ?- *a
? ?- python

輸出book: yaml

輸出books:[java,yaml,python]

注意*引用部分不能追加內(nèi)容 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的System.getenv()和System.getProperty()使用詳解

    Java中的System.getenv()和System.getProperty()使用詳解

    文章介紹了Java中用于讀取環(huán)境配置信息的兩種方法:System.getenv()和System.getProperty(),前者讀取系統(tǒng)環(huán)境變量,返回一個(gè)不可修改的Map;后者獲取JVM環(huán)境變量值,可以通過(guò)-D參數(shù)設(shè)置,文章還提到,通過(guò)這兩種方法可以簡(jiǎn)化配置,不需要修改代碼
    2024-11-11
  • springboot2.3之后hibernate-validator依賴缺失【踩坑】

    springboot2.3之后hibernate-validator依賴缺失【踩坑】

    這篇文章主要介紹了springboot2.3之后hibernate-validator依賴缺失【踩坑】,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解MyBatis中Executor執(zhí)行SQL語(yǔ)句的過(guò)程

    詳解MyBatis中Executor執(zhí)行SQL語(yǔ)句的過(guò)程

    MyBatis中獲取SqlSession時(shí)會(huì)創(chuàng)建執(zhí)行器Executor并存放在SqlSession中,本篇文章將以MapperMethod的execute() 方法作為起點(diǎn),對(duì)MyBatis中的一次實(shí)際執(zhí)行請(qǐng)求進(jìn)行說(shuō)明,并結(jié)合源碼對(duì)執(zhí)行器Executor的原理進(jìn)行闡釋
    2023-07-07
  • Java面向?qū)ο笾b類的用途與實(shí)際使用

    Java面向?qū)ο笾b類的用途與實(shí)際使用

    所謂包裝類,就是能夠直接將簡(jiǎn)單類型的變量表示為一個(gè)類,在執(zhí)行變量類型的相互轉(zhuǎn)換時(shí),我們會(huì)大量使用這些包裝類,本文我們來(lái)深入探索一下Java包裝類的相關(guān)內(nèi)容,需要的朋友可以參考下
    2022-03-03
  • 使用idea和gradle編譯spring5源碼的方法步驟

    使用idea和gradle編譯spring5源碼的方法步驟

    這篇文章主要介紹了詳解使用idea和gradle編譯spring5源碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • SpringBoot結(jié)合Maven項(xiàng)目依賴版本沖突問(wèn)題解決

    SpringBoot結(jié)合Maven項(xiàng)目依賴版本沖突問(wèn)題解決

    本文主要介紹了SpringBoot結(jié)合Maven項(xiàng)目依賴版本沖突問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 騰訊開(kāi)源消息中間件TubeMQ總體介紹分析

    騰訊開(kāi)源消息中間件TubeMQ總體介紹分析

    這篇文章主要為大家介紹了騰訊開(kāi)源消息中間件TubeMQ的總體介紹分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • MyBatis中的SQL映射文件配置結(jié)果映射的操作指南

    MyBatis中的SQL映射文件配置結(jié)果映射的操作指南

    MyBatis?是一款優(yōu)秀的?ORM?框架,它提供了多種配置方式來(lái)定義?SQL?語(yǔ)句以及結(jié)果映射規(guī)則,本文將介紹?MyBatis?中的?SQL?映射文件如何配置結(jié)果映射,包括常規(guī)類型、集合類型等多種情況,需要的朋友可以參考下
    2023-07-07
  • Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔

    Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java使用OpenFeign管理多個(gè)第三方服務(wù)調(diào)用

    Java使用OpenFeign管理多個(gè)第三方服務(wù)調(diào)用

    最近開(kāi)發(fā)了一個(gè)統(tǒng)一調(diào)度類的項(xiàng)目,需要依賴多個(gè)第三方服務(wù),這些服務(wù)都提供了HTTP接口供我調(diào)用。感興趣的可以了解一下
    2021-06-06

最新評(píng)論

大悟县| 镇平县| 邛崃市| 宣城市| 康定县| 阿拉善右旗| 嘉兴市| 乌鲁木齐市| 胶南市| 车险| 六安市| 天气| 灌南县| 贺州市| 伊通| 丹东市| 虎林市| 乌兰县| 东乌珠穆沁旗| 宁远县| 溆浦县| 鹤峰县| 西青区| 泰来县| 日照市| 琼海市| 万山特区| 衡水市| 南充市| 星子县| 十堰市| 崇左市| 诸暨市| 延边| 罗田县| 武宁县| 元朗区| 秦安县| 庆阳市| 泰顺县| 弥渡县|