yml文件tab 空格_yaml/yml文件的语法规则及使用:更优雅的配置文件

YAML Ain’t Markup Language,是一种简洁的数据描述语言,尤其适合配置文件。其语法规定使用空格缩进来组织数据,而非XML或JSON。在YAML中,缩进不能使用Tab,只能用空格,且相同层级的元素左侧对齐。键值对大小写敏感,冒号后必须跟空格。值可以是字面量、对象或数组,单引号和双引号有不同转义规则。YAML与properties文件结合时,会取两者属性的并集,相同属性优先使用properties的值。
摘要由CSDN通过智能技术生成

概念:

yaml(YAML Ain’t Markup Language)是一种简洁的非标记语言

以数据为中心 使用空白 缩进 分行组织数据 从而使得属性更加简单易读

比json和xml等更适合作为配置文件

YAML语法规范

我们先来看一看使用小案例:

XML转换为yaml:

8081port>

server>

转化为:

server:

port:8081

properties转换为yaml:

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/piconjo

jdbc.username=root

jdbc.password=123456

转化为:

jdbc:

driverClassName:com.mysql.jdbc.Driver

url:jdbc:mysql://localhost:3306/piconjo

username:root

password:123456

语法:

yaml使用缩进表示层级关系

缩进时不允许使用Tab键 只允许使用空格

且缩进的空格数目并不重要 只要相同层级的元素左侧对齐即可

属性和值对大小写敏感

key:(空格)value 表示一对键值对

注:切记冒号后必须有空格代表属性键值对 否则会识别为一个整体

值的写法

1、字面量:普通的值(数字 字符串 布尔值)

单个的 不可再分的值

字符串默认无须加上单双引号

若加上 则代表特殊意义

"":双引号

不转义字符串里面的特殊字符 将特殊字符作为一个普通的字符串输出

例:"aaa \n bbb"

输出:

aaa \n bbb

’’:单引号

转义特殊字符

例:"aaa \n bbb"

输出:

aaa

bbb

2、对象 Map键值对

key: value 键值对的形式

例:

user:

name:mike

age:19

行内写法:

user: {name: mike,age: 19}

3、数组(List和Set)

一组按次序排列的值

用-短横杠来表示数组中的一个元素

例:

language:

- java

- python

- android

- html

- jquery

行内写法:

language: [java,python,android,html,jquery]

yaml和properties的优先级:

当属性值不同时 会取properties文件和yaml文件的并集

即加起来的属性总和

当属性值相同时 会优先使用properties文件里的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值