1、YAML基本介绍
YAML是 YAML Ain’t Markup Language(中文意思:YAML不是一种标记语言)的缩写,YAML 是一种简洁的非标记语言,文件名后缀为yml,java中经常用它描述配置文件application.yml。YAML以数据为中心,比json/xml等更适合做配置文件。使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。
2、yaml基本语法
2.1、yaml语法基本规则
YAML有以下基本规则:
- 大小写敏感
- 字符串可以不用引号标注
- 使用缩进表示层级关系,只要是左边对齐的一列数据都是同一个层级的
- 禁止使用tab缩进,只能使用空格键
- 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。
- 使用#表示注释
2.2、基本语法
语法结构 :key:空格 value (注意,空格不能去掉,否则无法正确识别)。
yaml 以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的
server:
port: 8081
字面量直接写在后面就可以 , 字符串默认不用加上双引号或者单引号。
注意:
-
“ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;
比如 :name: "kuang \n shen" 输出 :kuang 换行 shen
-
'' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出
比如 :name: ‘kuang \n shen’ 输出 :kuang \n shen
2.2.1、对象、Map的写法
在下一行来写对象的属性和值的关系,注意缩进。
#对象、Map格式 k: v1: v2: #示例: student: name: qinjiang age: 3
行内写法:
student: {name: qinjiang,age: 3}
2.2.2、数组的写法
用 - 值 来表示数组中的一个元素。
pets: - cat - dog - pig #行内写法: pets: [cat,dog,pig]
3、注入配置文件
yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值!