springboot讀取yml配置文件 springboot怎么讀取application.yml文件?
springboot怎么讀取application.yml文件?application.yml中引用spring:#引用外部文件profiles: active: activemq配置另外的ym
springboot怎么讀取application.yml文件?
application.yml中引用
spring:
#引用外部文件
profiles:
active: activemq
配置另外的yml:
application-activemq.yml
application.yml文件怎么讀取系統(tǒng)的環(huán)境變量?
這些方式優(yōu)先級如下:命令行參數(shù)來自java:comp/env的JNDI屬性Java系統(tǒng)屬性(System.getProperties())操作系統(tǒng)環(huán)境變量RandomValuePropertySource配置的random.*屬性值jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件jar包內(nèi)部的application-{profile}.properties或application.yml(帶spring.profile)配置文件jar包外部的application.properties或application.yml(不帶spring.profile)配置文件jar包內(nèi)部的application.properties或application.yml(不帶spring.profile)配置文件
application.properties文件和application.yml文件有什么區(qū)別?
熟悉springboot的朋友都知道,原本的JAVA項目中常用的application.properties配置文件可以使用yml文件取代,兩者的作用其實是一樣的,都是用來配置全局性的,基本不變的屬性的數(shù)據(jù)格式序列化,用于在項目初始化的時候加載進(jìn)容器,在程序中使用。
兩者的區(qū)別就像米飯和面條,都可以用來填飽肚子,兩者顯示不同,語法不同,作用相同。
至于為什么要使用yaml文件,應(yīng)該是這樣的。。。
①,yml配置是樹狀的數(shù)據(jù)格式:看起來更加的直觀。
②,yml是跨語言的:可以在包括JAVA,go,python等大量的語言中使用,比如做云計算使用go和java的時候,可以通過配置中心使用同一份配置!
③,支持列表:區(qū)別于properties只支持鍵值對數(shù)據(jù),yml配置文件支持列表,如下所示:
當(dāng)然,從properties轉(zhuǎn)yml文件會遇到很多坑,在此記錄下:
1,層級關(guān)系縮進(jìn)不能用tab鍵:每次都數(shù)2.4.6這樣打空格。。。
2,每個key的后面需要加:,每個:后面還需要加一個空格!
3,列表的短橫線后面需要有個空格。
不知道為什么springboot推薦使用yml,反正除了不用的列表功能沒看到有啥好的,相反properties轉(zhuǎn)yml的時候還遇到一些坑,不過掌握了之后就很easy了,關(guān)于這種小細(xì)節(jié)的東西,更有很多分享,敬請關(guān)注。。。