最近的SpringBoot项目里用到yml文件作为配置文件,简单的了解下,它的基本语法如下
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- # 表示注释, 从这个字符一直到行尾,都会被解析器忽略
YAML 支持的数据结构有三种。
1、对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
animal: pets
2、数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- Cat
- Dog
- Goldfish
也可以用行内表示法:
animal: [Cat,Dog,Goldfish]
3、复合结构,对象和数组结合使用
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
4、纯量(scalars):单个的、不可再分的值
字符串、布尔值、整数、浮点数、Null
name: changhf
result: true
score: 90
number: 12.30
user: ~
date: 1976-07-31
5、字符串
默认不用引号,如果字符串中包含空格、特殊字符等,需要单引号;双引号不会对特殊字符转义;
具体用法看以下文档
参考:http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt
比如SpringBoot我用的这个application.yml, 他定义了server, spring, mybatis, logging四个子框架的配置信息: