在Springboot中,推薦使用properties或者YAML文件來完成配置苞七,但是對于較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)來說,YAML又遠(yuǎn)遠(yuǎn)優(yōu)于properties。本文簡單介紹下YAML的常見語法格式较坛。
先來看一個Springboot中的properties文件和對應(yīng)YAML文件的對比:
#properties(示例來源于Springboot User guide):
environments.dev.url=http://dev.bar.com
environments.dev.name=Developer Setup
environments.prod.url=http://foo.bar.com
environments.prod.name=My Cool App
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
可以明顯的看到,在處理層級關(guān)系的時候扒最,properties需要使用大量的路徑來描述層級(或者屬性)丑勤,比如environments.dev.url和environments.dev.name。其次吧趣,對于較為復(fù)雜的結(jié)構(gòu)法竞,比如數(shù)組(my.servers),寫起來更為復(fù)雜强挫。而對應(yīng)的YAML格式文件就簡單很多:
#YAML格式
environments:
dev:
url: http://dev.bar.com
name: Developer Setup
prod:
url: http://foo.bar.com
name: My Cool App
my:
servers:
- dev.bar.com
- foo.bar.com
可以直觀的看到岔霸,YAML使用冒號加縮進(jìn)的方式代表層級(屬性)關(guān)系,使用短橫杠(-)代表數(shù)組元素俯渤。
經(jīng)過這個示例的演示呆细,可以很明顯的看到Y(jié)AML針對properties文件的優(yōu)異之處。