YAML简介与语法

一、YAML 简介

YAML 全称 YAML Ain't Markup Language,它是一种以数据为中心的标记语言,比 XML 和 JSON 更适合作为配置文件。

想要使用 YAML 作为属性配置文件(以 .yml 或 .yaml 结尾),需要将 SnakeYAML 库添加到 classpath 下,Spring Boot 中的 spring-boot-starter-web 或 spring-boot-starter 都对 SnakeYAML 库做了集成, 只要项目中引用了这两个 Starter 中的任何一个,Spring Boot 会自动添加 SnakeYAML 库到 classpath 下

二、YAML 语法

YAML 的语法如下:

1、使用缩进表示层级关系。

2、缩进时不允许使用 Tab 键,只允许使用空格。

3、缩进的空格数不重要,但同级元素必须左侧对齐。

4、’大小写敏感。


例如:

  1. spring:
  2.   profiles: dev
  3.   datasource:
  4.     url: jdbc:mysql://127.0.01/banchengbang_springboot
  5.     username: root
  6.     password: root
  7.     driver-class-name: com.mysql.jdbc.Driver

三、YAML 常用写法

YAML 支持以下三种数据结构:

1、对象:键值对的集合

2、数组:一组按次序排列的值

3、字面量:单个的、不可拆分的值

四、YAML 字面量写法

字面量是指单个的,不可拆分的值,例如:数字、字符串、布尔值、以及日期等。

在 YAML 中,使用“key:[空格]value的形式表示一对键值对(空格不能省略),如 url: www.biancheng.net。

字面量直接写在键值对的“value中即可,且默认情况下字符串是不需要使用单引号或双引号的。

name: bianhengbang


若字符串使用单引号,则会转义特殊字符。

name: zhangsan \n lisi

输出结果为:

zhangsan \n lisi


若字符串使用双引号,则不会转义特殊字符,特殊字符会输出为其本身想表达的含义

name: zhangsan \n lisi

输出结果为:

zhangsan

lisi

五、对一些常用数据类型的表示格式进行了约定,包括:

 integer: 12345     # 整数标准形式

 octal: 0o34        # 八进制表示,第二个是字母 o

 hex: 0xFF          # 十六进制表示

 float: 1.23e+3     # 浮点数

 fixed: 13.67       # 固定小数

 minmin: -.inf      # 表示负无穷

 notNumber: .NaN    # 无效数字

 null:              # 空值

 boolean: [true, false] # 布尔值

 string: ‘12345‘    # 字符串

 date: 2015-08-23   # 日期

 datetime: 2015-08-23T02:02:00.1z  # 日期时间

 iso8601: 2015-08-23t21:59:43.10-05:00  # iso8601 日期格式

 spaced: 2015-08-23 21:59:43.10 -5      # ?

其他参考链接:

The Official YAML Web Site

Yaml语法使用 - yuxuefeng - 博客园

你可能感兴趣的:(java,开发语言)