您好,登錄后才能下訂單哦!
怎么在springboot中讀取yml配置?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
yml 文件規(guī)則
yml文件的好處,天然的樹狀結(jié)構(gòu),一目了然,實(shí)質(zhì)上跟properties是差不多的。
不支持tab縮進(jìn)
可以使用 "-小寫字母" 或 "_小寫字母"來 代替 "大寫字母",如 userName 與 user-name ,user_name 含義是一樣的
key: value 格式書寫
key 后面跟著冒號(hào),再后面跟著一個(gè)空格,然后是值
幾種數(shù)據(jù)格式的表示方式
1.普通的值(數(shù)字,字符串,布爾)
2.對(duì)象、Map (屬性和值) (鍵值對(duì))
3.數(shù)組 (List、Set)
普通的值(數(shù)字,字符串,布爾)
直接就是 key: value ,如:
age: 18 name: root
注:
字符串默認(rèn)不用加上單引號(hào)或者雙引號(hào);
"":雙引號(hào);不會(huì)轉(zhuǎn)義字符串里面的特殊字符;特殊字符會(huì)作為本身想表示的意思
name: "zhangsan \n lisi":輸出;zhangsan 換行 lisi
'':?jiǎn)我?hào);會(huì)轉(zhuǎn)義特殊字符,特殊字符最終只是一個(gè)普通的字符串?dāng)?shù)據(jù)
name: ‘zhangsan \n lisi':輸出;zhangsan \n lisi
對(duì)象、Map(屬性和值)(鍵值對(duì))
對(duì)象還是k: v的方式
k: v:在下一行來寫對(duì)象的屬性和值的關(guān)系;注意縮進(jìn)(不支持tab,使用空格),如:
person: age: 18 name: root
數(shù)組(List、Set)
用- 值表示數(shù)組中的一個(gè)元素,如:
hands: - left - right
第一種讀取方式@value
如果我們只需要配置文件中的一兩個(gè)值,@Value 是最簡(jiǎn)單方便的方式.
server: port: 9001
我們?cè)诖a中可以這樣取值
@Value("${server.port}") public String port;
注:此處的prot 所在的類需要是一個(gè)組件,如果是實(shí)體類需要加上@Component
第二種讀取方式@ConfigurationProperties
如果需要一個(gè)JavaBean 來專門映射配置的話,我們一般會(huì)使用@ConfigurationProperties來讀取.
student: age: 18 name: root
javabean:
@Component @ConfigurationProperties(prefix = "student") public class Student { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
使用@ConfigurationProperties,需要配置一個(gè)prefix (前綴) 參數(shù), 即寫上 key 就可以了.
第三種讀取方式@Environment
這種方法好像用的比較少,基本沒用過...
test: msg: root is a good student
springboot一種全新的編程規(guī)范,其設(shè)計(jì)目的是用來簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過程,SpringBoot也是一個(gè)服務(wù)于框架的框架,服務(wù)范圍是簡(jiǎn)化配置文件。
關(guān)于怎么在springboot中讀取yml配置問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。