1.語法規則與數據結構
語法規則
- 大小寫敏感
- 縮進表示層級關係
- 縮進不允許用tab,只允許空格
- 縮進的空格數無規定,只要保持相同層級的元素左側對齊即可
數據結構
- 對象:鍵值對,又稱爲映射,哈希,字典
- 數組:一組按次序排列的值,又稱序列,列表
- 純量:單個、不可再分的值
2.對象
key: value 冒號後面要加一個空格
也可用 key: {key1: value, key2: value2,…}
key:
child-key: value
child-key2: value2
3. 數組
用一個短橫線加一個空格代表一個數組項
pets:
- cat
- dog
pets:
-
id: 1
name: jummy
-
id: 2
name: pol
4.複合結構
languages:
- english
- Chinese
websites:
yaml: yaml.org
baidu: baidu.com
5.純量
- 字符串
- 布爾值
- 整數
- 浮點數
- Null
- 時間
- 日期
boolean:
- TRUE #true,True 都可以
- FALSE #false,False 都可以
float:
- 3.14
- 3.1432423e+5 #科學計數法
int:
- 123
- 0b1010_0111 #二進制
null:
nodeName: 'node'
parent: ~ #使用~表示null
string:
- haha #字符串不用加單引號或者雙引號
- 'hello world' #可以使用雙引號或者單引號包裹特殊字符,雙引號不會轉義特殊字符,單引號會轉義
- newline
newline2 #字符串可以拆分成多行,每一行會被轉化成一個空格
date:
- 2018-02-14 #日期必須使用ISO 8601格式,yyyy-MM-dd
datetime:
- 2018-02-17T15:02:31+08:00 # 時間使用ISO 8601格式,時間和日期用T鏈接,最後的+代表時區
6.引用
&
錨點和 *
別名,可以引來引用
defaults: &defaults
adapter: postgres
host: localhost
development:
database: myapp_development
<<: *defaults
test:
database: myapp_test
<<: *defaults
相當於:
defaults:
adapter: postgres
host: localhost
development:
database: myapp_development
adapter: postgres
host: localhost
test:
database: myapp_test
adapter: postgres
host: localhost
& 用來建立錨點(defaults),<< 表示合併到當前數據,***** 用來引用錨點。
- &showell Steve
- Clark
- Brian
- Oren
- *showell
相當於
[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]
7.springboot多個配置文件的切換
文件名的格式是:application-{profile}.properties/yml
激活指定的profile
-
在主配置文件中指定:spring.profiles.active=dev
-
命令行 java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;
可以直接在測試的時候,配置傳入命令行參數
-
虛擬機參數;
-Dspring.profiles.active=dev
使用yml的文檔塊方式
server:
port: 8081
spring:
profiles:
active: prod
---
server:
port: 8083
spring:
profiles: dev
---
server:
port: 8084
spring:
profiles: prod #指定屬於哪個環境