yml配置文件的使用

得益於java社區的成熟,以下是幾位大佬的相關精華內容。

https://www.jianshu.com/p/97222440cd08  --yml的基本使用

http://nodeca.github.io/js-yaml/  --在線驗證yml文件,轉爲json

https://blog.csdn.net/yi_shen_zhi_nu/article/details/95490985   --批處理平臺項目的yml配置

yml是什麼

yml只是一種寫法,其最終會轉換成json文件。

其用在springboot中,用來簡化配置文件。

properties文件和對應YAML文件的對比:

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

 

#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

yml使用冒號加縮進的方式代表層級(屬性)關係,使用短橫槓(-)代表數組元素。

 

yml的規範

1,YAML大小寫敏感;
2,使用縮進代表層級關係;

3,縮進只能使用空格,不能使用TAB,不要求空格個數,只需要相同層級左對齊(一般2個或4個空格)
4,使用冒號代表,格式爲key: value。冒號後面要加一個空格

key: value

可以使用縮進表示層級關係;

key: 
    child-key: value
    child-key2: value2

YAML中還支持流式(flow)語法表示對象,比如上面例子可以寫爲:

key: {child-key: value, child-key2: value2}

5,數組的寫法

使用一個短橫線加一個空格代表一個數組項:

hobby:
    - Java
    - LOL

當然也可以有這樣的寫法:

-
    - Java
    - LOL

可以簡單理解爲:[[Java,LOL]]
一個相對複雜的例子:

companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W

意思是companies屬性是一個數組,每一個數組元素又是由id,name,price三個屬性構成;
數組也可以使用流式(flow)的方式表示:

companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]

6、常量的寫法

YAML中提供了多種常量結構,包括:整數,浮點數,字符串,NULL,日期,布爾,時間。下面使用一個例子來快速瞭解常量的基本使用:

boolean: 
    - TRUE  #true,True都可以
    - FALSE  #false,False都可以
float:
    - 3.14
    - 6.8523015e+5  #可以使用科學計數法
int:
    - 123
    - 0b1010_0111_0100_1010_1110    #二進制表示
null:
    nodeName: 'node'
    parent: ~  #使用~表示null
string:
    - 哈哈
    - 'Hello world'  #可以使用雙引號或者單引號包裹特殊字符
    - newline
      newline2    #字符串可以拆成多行,每一行會被轉化成一個空格
date:
    - 2018-02-17    #日期必須使用ISO 8601格式,即yyyy-MM-dd
datetime: 
    -  2018-02-17T15:02:31+08:00    #時間使用ISO 8601格式,時間和日期之間使用T連接,最後使

 

多環境配置

使用---連接符來進行配置,如下文使用---將文件分爲3塊,第一塊寫公用的配置。

spring.profiles.active.xxx     寫在公用塊,指定將使用什麼環境
spring.profiles:xxx   指定屬於什麼環境

在服務器啓動jar服務時,可以使用此命令  java -jar xxxxx-1.0.0.jar --spring.profiles.active=pro
強制指定環境,此處的命令將覆蓋yml文件中的配置

spring:
  profiles:
    active: dev
##繼續寫公用的配置


---
#開發環境配置
spring:
  profiles: dev

server:
  port: 8081


---
#測試環境配置
spring:
  profiles: pro

server:
  port: 8082

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章