配置文件YAML基本语法
配置文件
SpringBoot使用一个全局的配置文件,配置文件名称是固定的
application.properties
- 语法结构: key=value
application.yml
- 语法结构: key:空格value
配置文件的作用∶ 修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;
YAML
YAML 是TYAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写。
在开发的这种语言时,YAML 的意思其实是: "Yet Another Markup Language”(仍是一种置标语言)
YAML A Markup Language:是一个标记语言
YAML isnot Markup Language:不是一个标记语言
标记语言
以前的配置文件,大多数都是使用xml来配置;比如一个简单的端口配置,我们来对比下yaml和xml
yaml配置:
server:
prot: 8080
xml配置:
<server>
<port>8081<port>
</erver>
基本规则
YAML有以下基本规则:
1、大小写敏感
2、使用缩进表示层级关系
3、禁止使用tab缩进,只能使用空格键
4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。
5、使用#表示注释
6、字符串可以不用引号标注
YAML语法
基本语法
k:(空格)v:表示一对键值对(空格必须有);
以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的。server: port: 8081 path: /hello //属性和值也是大小写敏感。
2、值的写法
字面量:普通的值(数字,字符串,布尔)
k: v:字面直接来写。
字符串默认不用加上单引号或者双引号;
“”:双引号;不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思。
name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据。
name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
对象、Map(属性和值)(键值对):
k: v:在下一行来写对象的属性和值的关系,注意缩进。
对象还是k: v的方式:
friends:
lastName: zhangsan
age: 20
行内写法:
friends: {lastName: zhangsan,age: 18}
数组(List、Set):
用"-"值表示数组中的一个元素。
pets:
‐ cat
‐ dog
‐ pig
行内写法:
pets: [cat,dog,pig]