yml/yaml

本文详细介绍了YAML的语法特点,包括树形结构、键值对规则、数据类型如字符串、整数、浮点数、布尔值和日期时间的表示,以及数组的使用。特别强调了空格缩进的重要性、字符串的特殊处理以及注释的表示。同时,提到了YAML在配置文件中的加载顺序和冲突解决原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件后缀

xxx.yml 或 xxx.yaml

语法

树形结构,相同的前缀只需要写一次

  • 使用 空格缩进 来表示层级关系,空格数不重要,相同层级左对齐即可。不能用tab
  • 使用key: value:面要加一个空格重要
  • 大小写敏感
  • #表示注释
db:   
	url: 127.0.0.1  
	port: 8080  
	name: root
	#  pwd: 123456  
	pwd: root

行内写法(不推荐)

类似json

db: {url: 127.0.0.1,port: 8080,name: root,pwd: root}

字符串

如上面的例子,不需要加双引号、单引号,在yml中,双引号、单引号有特殊意义:

  • 加单引号:将字符串里面的特殊字符原样输出
    pwd: '123\n456'会输出为:pwd: 123\n456
  • 加双引号 :不会将字符串里面的特殊字符原样输出
    pwd: "123\n456"会输出为:pwd: 123换行456

基本数据类型

int

age: 123length: 0b1010_0111_0100_1010_1110    #二进制表示

float:

pi: 3.14a: 6.8523015e+5  #可以使用科学计数法

boolean

boy: TRUE  #true,True都可以girl: FALSE  #false,False都可以

null

null:    nodeName: 'node'    parent: ~  #使用~表示null

日期时间

日期必须使用ISO 8601格式,即yyyy-MM-dd

date: 2018-02-17

时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区

datetime: 2018-02-17T15:02:31+08:00

数组

- 开头的行表示构成一个数组:

languages:  - java  - c  - python

数组行内写法(不推荐)

languages: [java,c,python]

注意

先加载application.yml,然后加载application.properties

如果相同的配置存在于两个文件中。最后会使用application.properties中的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值