yaml文件

yaml文件

yaml文件的后缀为.yml或.yaml

基本语法规则:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • # 表示注释,从它开始到行尾都被忽略
  • 锚点&:标注一个内容,锚点名称自定义
  • 引用*:使用被标注的内容<<: *锚点名
  • 在yaml里,用on、1、true来表示true,off、0、false来表示false
  • yaml中,空值可以用null或~表示

1、对象类型

1.1对象的一组键值对,使用冒号结构表示

name: Steve
age: 18

1.2Yaml 也允许另一种写法,将所有键值对写成一个行内对象

hash: { 
      name: Steve,
      age: 18 
}

2 、数组类型

2.1一组连词线开头的行,构成一个数组

animal

  - Cat

  - Dog

 

2.2数组也可以采用行内表示法

animal: [Cat, Dog]

 

 

3、复合结构

3.1对象和数组可以结合使用,形成复合结构

languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org 

4 、纯量

1 字符串 布尔值 整数 浮点数 Null
2 时间日期

数值直接以字面量的形式表示
number: 12.30

布尔值用true和false表示
isSet: true

null用 ~ 表示
parent: ~

时间采用 ISO8601 格式
iso8601: 2001-12-14t21:59:43.10-05:00   
            
日期采用复合 iso8601 格式的年、月、日表示
date: 1976-07-31  

YAML 允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true

5、引用会用到 &锚点符合和 星号符号,&用来建立锚点,<< 表示合并到当前数据, 用来引用锚点。

fengsheng: &fengsheng
  name: 锋声
  age: 20

dept:
  id: D15D8E4F6D68A4E88E
  <<: *fengsheng

上面最终相当于如下:

fengsheng:
  name: 锋声
  age: 20

dept:
  id: D15D8E4F6D68A4E88E
  name: 锋声
  age: 20

6、文件内引用,引用已经定义好的变量

base.host: https://chenpi.com
add.person.url: ${base.host}/person/add

7、单文件多配置

#公共配置
spring:
  profiles:
    active: pro # 指定使用哪个文档块


#开发环境配置
spring:
  profiles: dev # profiles属性代表配置的名称
server:
  port: 8080


#生产环境配置
spring:
  profiles: pro
server:
  port: 8081

 

 

posted @ 2022-07-24 16:05  yaya_zhang  阅读(981)  评论(0编辑  收藏  举报