YML(或YAML,即YAML Ain’t Markup Language)
是一种常用的数据序列化格式,特别适合用于配置文件的编写。它采用一种易于人类阅读和编写的方式,同时允许简单的数据表示。
基本语法:
- 大小写敏感
- 数值前必须有空格作为分隔符
- 使用缩进表示层级,不允许使用Tab缩进,只能使用Space(一般使用2个或4个)
- 空格的数量不重要,只需要保证同级元素左侧对齐即可
- 井号表示注释,注释当前行
数据格式
- 使用冒号分割键和值,如:
person:
name: John Doe
age: 30
city: New York
- 数组(列表):使用短横线表示列表项,每个列表项占一行,如:
hobbies:
- reading
- sports
- movies
# 或者行内写法
hobbies: [reading, sports, movies]
- 字符串
- 普通字符串:直接书写,不需要引号。
- 双引号字符串:不会转义字符串中的特殊字符。
- 单引号字符串:会转义字符串中的特殊字符。
- 多行字符串
- 保留换行符的多行字符串:使用 “ | ”,如:
description: |
This is a multi-line
string with newlines preserved.
* 折叠换行的多行字符串:使用 > 如:
poem: >
Roses are red,
violets are blue.
Sugar is sweet,
and so are you.
案例:
# 配置当前服务器的相关信息
server:
port: 8080
address: 127.0.0.1
# 配置数据源
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/dataBase
username: root
password: root
读取方式
在类中建立对应的私有的成员变量
再使用@Value注解标注内容 如:
lesson: "张三"
@Value("@{lesson}")
private String name;
或者使用自动装配,通过get()方法获取