您好,登錄后才能下訂單哦!
這篇文章主要介紹“SpringBoot中YAML語法怎么用及要注意哪些點”,在日常操作中,相信很多人在SpringBoot中YAML語法怎么用及要注意哪些點問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringBoot中YAML語法怎么用及要注意哪些點”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
yaml后綴名可以是.yml或者.yaml
對于語法注意的一點是固定的縮進來控制它的層級關(guān)系,它的key: value形式必須要要在中間有空格
@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注解過后idea會給你發(fā)出警告,可以不管,但是這樣你在yml中配置時就沒有提示功能,所以點進警告,這時你會發(fā)現(xiàn)可能出現(xiàn)網(wǎng)頁找不到的情況,這時候你只需要將網(wǎng)址欄的版本降低即可,如下
將框中的內(nèi)容放進pom,然后重新運行項目,在yaml中就會對你自己寫的標(biāo)注了@ConfigurationProperties的類有了代碼提示功能
public class Dog { private String name; private Integer age; }
person: last-name: 張三 age: 25 hobbies: - 籃球 - 跑步 - 吉他 map: {k1: 你好,k2: 世界} dog: name: 狗東西 age: 10
列表可以用上面的形式也可以用下面的形式,看清楚光標(biāo)處有空格,對象類型就可以用{},如下面的Map
Java中l(wèi)astName的駝峰命名法,yaml中可以用其他的形式來表示。如
last_name last-name lastName LASTNAME
首次玩這個如果想在測試類里面測試,有可能你會出現(xiàn)運行不了一直卡在Maven。。。的框里面,解決方案:我的錯誤收集筆記
可以查看官方或者其他的博客資料,會有一大堆的內(nèi)容
YAML語言的設(shè)計參考了JSON,XML和SDL等語言。YAML 強調(diào)以數(shù)據(jù)為中心,簡潔易讀,編寫簡單。
有意思的命名:
AML全稱是”YAML Ain’t a Markup Language”(YAML不是一種置標(biāo)語言)的遞歸縮寫。 在開發(fā)的這種語言時,YAML 的意思其實是:”Yet Another Markup Language”(仍是一種置標(biāo)語言)。
大小寫敏感
通過縮進表示層級關(guān)系
禁止使用tab縮進,只能使用空格鍵 (個人感覺這條最重要)
縮進的空格數(shù)目不重要,只要相同層級左對齊即可
使用#表示注釋
對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
數(shù)組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
純量(scalars):單個的、不可再分的值
雙引號和單引號的區(qū)分
雙引號"":不會轉(zhuǎn)義字符串里面的特殊字符,特殊字符作為本身想表示的意思。
yamlname: "123\n123"
輸出: 123 換行 123
如果不加引號將會轉(zhuǎn)義特殊字符,當(dāng)成字符串處理
1.字符串
使用”或”“或不使用引號
yamlvalue0: 'hello World!' value1: "hello World!" value2: hello World!
2.布爾值
true或false表示。
3.數(shù)字
yaml12 #整數(shù) 014 # 八進制整數(shù) 0xC #十六進制整數(shù) 13.4 #浮點數(shù) 1.2e+34 #指數(shù) .inf空值 #無窮大
4.空值
null或~表示
5.日期
使用 iso-8601 標(biāo)準表示日期
yamldate: 2018-01-01t16:59:43.10-05:00
在springboot中yaml文件的時間格式 date: yyyy/MM/dd HH:mm:ss
6.強制類型轉(zhuǎn)換(了解)
YAML 允許使用個感嘆號!,強制轉(zhuǎn)換數(shù)據(jù)類型,單嘆號通常是自定義類型,雙嘆號是內(nèi)置類型。
yamlmoney: !!str 123 date: !Boolean true
內(nèi)置類型列表
yaml!!int # 整數(shù)類型 !!float # 浮點類型 !!bool # 布爾類型 !!str # 字符串類型 !!binary # 也是字符串類型 !!timestamp # 日期時間類型 !!null # 空值 !!set # 集合 !!omap,!!pairs # 鍵值列表或?qū)ο罅斜? !!seq # 序列,也是列表 !!map # 鍵值表
7.對象(重點)
Map(屬性和值)(鍵值對)的形式: key:(空格)v :表示一堆鍵值對,空格不可省略。
yamlcar: color: red brand: BMW
一行寫法
yamlcar:{color: red,brand: BMW}
相當(dāng)于JSON格式:
json{"color":"red","brand":"BMW"}
8.數(shù)組
一組連詞線開頭的行,構(gòu)成一個數(shù)組。
yamlbrand: - audi - bmw - ferrari
一行寫法
yamlbrand: [audi,bmw,ferrari]
相當(dāng)于JSON
json["auri","bmw","ferrari"]
9.文本塊
|:使用|標(biāo)注的文本內(nèi)容縮進表示的塊,可以保留塊中已有的回車換行
yamlvalue: | hello world!
輸出結(jié)果:hello 換行 world!
+表示保留文字塊末尾的換行,-表示刪除字符串末尾的換行。
yamlvalue: | hello value: |- hello value: |+ hello
輸出:hello\n hello hello\n\n(有多少個回車就有多少個\n)
注意 “|” 與 文本之間須另起一行
:使用 > 標(biāo)注的文本內(nèi)容縮進表示的塊,將塊中回車替換為空格,最終連接成一行
yamlvalue: > hello world!
輸出:hello 空格 world!
注意 “>” 與 文本之間的空格
10.錨點與引用
使用 & 定義數(shù)據(jù)錨點(即要復(fù)制的數(shù)據(jù)),使用 * 引用錨點數(shù)據(jù)(即數(shù)據(jù)的復(fù)制目的地)
yamlname: &a yaml book: *a books: - java - *a - python
輸出book: yaml
輸出books:[java,yaml,python]
注意*引用部分不能追加內(nèi)容
到此,關(guān)于“SpringBoot中YAML語法怎么用及要注意哪些點”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。