SpringBoot中的全局配置文件有两种,其中它们的名字都是固定的
- application.properties
- application.yml(application.yaml)
yaml介绍
配置文件的作用修改一些默认的值(如tomcat的端口号),因为SpringBoot
帮我们默认配置好了,如果我们要修改的话就可以使用这两个配置文件来进行修改
其中properties这个后缀名的配置文件我们很了解,那yaml
后缀名的配置文件是个啥勒?
今天来着重记录下yaml
YAML(YAML Ain’t Markup Language)
这个英文解释怎么看都看不懂,因为第二个单词Ain't
不知道是个啥?
在网上看到一个说法,这个单词是组合起来的
YAML is a Markup Language
YAML isn't a Markup Language
有点意思,即是一个标记语言,却又不是,这有点哲学了
标记语言:
以前的配置文件;大多都使用的是 xxxx.xml文件;
YAML:以数据为中心,比json、xml等更适合做配置文件;
来个例子我们看看怎么以配置为中心(配置tomcat的端口号)
server:
port: 8081
xml:
<server>
<port>8081</port>
</server>
我们可以看到xml中大部分都是标记,实际的数据内容占比太少,如果配置过多的话,就会导致篇幅有点冗余,而yml相比就简便了点.
YAML语法
基本语法
k:(空格)v:表示一对键值对(空格必须有)
其中以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的(这个有点像python)
值的复杂类型写法
对象、Map(属性和值)(键值对):
teacher:
name:hello
student:
student-name:world
student-age:19
行内写法:
teacher:
name:hello
student: {student-name: world,student-age: 19}
数组(List、Set):(注意-后面有个空格)
friends:
- lisi
- zhangsan
- wangwu
行内写法:
friends: [lisi,zhangsan,wangwu]