yaml配置文件
参考:
https://blog.csdn.net/weixin_62221994/article/details/132612140
一、YAML概述
YAML全称是 YAML Ain't Markup Language 。YAML是一种直观的能够被电脑识别的的数据数据序列化 格式, 并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如:C/C++, Ruby, Python, Java, Perl, C#, PHP等。
YML文件是以数据为核心的,比传统的xml方式更加简洁。YAML文件的扩展名可以使用.yml或者.yaml。
二、格式对比
properties:
server.port=8080
server.address=127.0.0.1
xml:
<server> <port>8080</port> <address>127.0.0.1</address> </server>
yml:
server: port: 8080 address: 127.0.0.1
三、YAML基础语法
1. 大小写敏感
2. 数据值前边必须有空格,作为分隔符
3. 使用缩进表示层级关系
4. 缩进时不允许使用Tab键,只允许使用空格(各个系统 Tab对应的 空格数目可能不同,导致层次混 乱)。
5. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
6. "#"表示注释,从这个字符一直到行尾,都会被解析器忽略。
可设置的类型
1、字面量:
普通的值 [ 数字,布尔值,字符串 ]
boolean: TRUE #TRUE,true,True,FALSE,false,False均可 float: 3.14 #6.8523015e+5 #支持科学计数法 int: 123 #0b1010_0111_0100_1010_1110 #支持二进制、八进制、十六进制 string: HelloWorld #字符串可以直接书写
2、数组:
一组按次序排列的值( List、set )
address: - beijing - shanghai # 行内写法 commpany: [阿里巴巴,华为,腾讯,字节跳动]
3、对象、Map(键值对)
person: name: wangzhuo # 行内写法 person: {name: wangzhuo} #对象数组格式一 users: - name: Tom age: 4 - name: Jerry age: 5 #对象数组格式二 users: - name: Tom age: 4 - name: Jerry age: 5 #对象数组缩略格式 users2: [ { name:Tom,age:4 },{ name:Jerry,age:5 } ]
4、参数的引用
name: wangzhuo person: name: xuelaoshi pet: ${name} # 引用上边定义的name值 name: xuls${random.uuid} # 配置文件占位符,随机uuid name: ${person.name}_真帅