YAML文件简介
在使用开发工具初始化一个SpringBoot项目之后,我们可以看到在src\main\resources目录下有一个application.properties文件,这个properties文件就是SpringBoot项目的全局配置文件。除了可以使用默认的application.properties文件作为全局配置文件之外,SpringBoot项目还支持另外一种全局配置文件——application.yml
YAML(YAML Ain't Markup Language)语言文件,它以.yml作为后缀。相比于传统的xml、properties文件,它的语法更加简洁、可读性更强,它的特点是以数据为中心,更加适合作为项目的配置文件
YAML基本语法
基本语法:
1.定义数据的格式为key: value,表示一对键值对(注意:value与冒号之间一定要有空格)
2.使用缩进表示层级关系
3.缩进时不允许使用Tab键,只允许使用空格
4.缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5.大小写敏感
示例:
#配置数据库参数 同一层级的元素一定要左侧对齐
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
支持的数据结构:
1.对象(Map):键值对的集合
示例:
person:
name: Allen
age: 20
或者使用行内写法:
person: {name: Allen,age: 20}
2.数组(List、Set、Array):一组按次序排列的值
示例:
colors:
- red
- blue
- green
行内写法:
colors: [red, blue, green] # 方括号[]可以省略
3.字面量(int、long、boolean、String):单个的、不可再分的值
age: 20
city: New York
YAML文件值注入
通过使用@ConfigurationProperties注解,我们可以将YAML配置文件中相关配置的值与javabean进行绑定
新建一个Person类:
public class Address {
private String city; //城市
private Long streetNumber; //街区编号
//省略get/set、toString方法
}
/**
* 将配置文件中配置的每一个属性的值,映射到这个组件中
* @ConfigurationProperties:将本类中的所有属性和配置文件中相关的配置进行绑定
* prefix = "person":