yaml文件简介
YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
YAML 的配置文件后缀为 .yaml,如:application.yaml 。
基本语法
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格,对空格要求严格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- ‘#’表示注释
先感受一下吧:
Spring Boot的application.properties文件可以修改Spring Boot的一些默认配置(如上图修改tomcat的端口号),而Spring官方并不推荐使用application.properties来修改,而推荐使用application.yaml,但是文件名必须是application:
yaml配置注入
对象、Map(键值对)
#对象、Map格式k:v1:v2:
在下一行来写对象的属性和值得关系,注意缩进;比如:
student:
name: 阿离
age: 3
行内写法
student: {name: 阿离,age: 3}
数组( List、set )
用 - 值表示数组中的一个元素,比如:
pets:
- cat
- dog
- pig
行内写法
pets: [cat,dog,pig]
我们还可以再application.yaml中给对象注入属性值:
@Component
public class Dog {
private String name;
private Integer age;
//构造器和getXxx、setXxx...
}
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
//构造器和getXxx、setXxx...
}
person:
name: "阿离"
age: 18
happy: false
birth: 2001/10/12
maps: { k1: "最美射手",k2: "发育路线霸" }
lists:
- "小可爱"
- "小姐姐"
- "爱音乐"
dog:
name: "二哈"
age: 3
运行结果:
参考文章:
https://mp.weixin.qq.com/s?__biz=Mzg2NTAzMTExNg%3D%3D&chksm=ce6107c3f9168ed5aee476cd9e2e482e4fc271cdba34fa6eccfd5ce10740f229f8eaf487d080&idx=1&mid=2247483744&scene=21&sn=b4ec762e71b2ddf9403c035635299206#wechat_redirect
