目录
同以前的properties用法
YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。
非常适合用来做以数据为中心的配置文件
①字面量:单个的、不可再分的值。date、boolean、string、number、null
k: v
②对象:键值对的集合。map、hash、set、object
- 行内写法: k: {k1:v1,k2:v2,k3:v3}
- #或
- k:
- k1: v1
- k2: v2
- k3: v3
③数组:一组按次序排列的值。array、list、queue
- 行内写法: k: [v1,v2,v3]
- #或者
- k:
- - v1
- - v2
- - v3
- @Data
- public class Person {
- private String userName;
- private Boolean boss;
- private Date birth;
- private Integer age;
- private Pet pet;
- private String[] interests;
- private List
animal; - private Map
score; - private Set
salarys; - private Map
> allPets; - }
-
- @Data
- public class Pet {
- private String name;
- private Double weight;
- }
- # yaml表示以上对象
- person:
- userName: zhangsan
- boss: false
- birth: 2019/12/12 20:12:33
- age: 18
- pet:
- name: tomcat
- weight: 23.4
- interests: [篮球,游泳]
- animal:
- - jerry
- - mario
- score:
- english:
- first: 30
- second: 40
- third: 50
- math: [131,140,148]
- chinese: {first: 128,second: 136}
- salarys: [3999,4999.98,5999.99]
- allPets:
- sick:
- - {name: tom}
- - {name: jerry,weight: 47}
- - name: 小白
- weight: 43
- health: [{name: mario,weight: 47}]
自定义的类和配置文件绑定一般没有提示。
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-configuration-processorartifactId>
- <optional>trueoptional>
- dependency>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <configuration>
- <excludes>
- <exclude>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-configuration-processorartifactId>
- exclude>
- excludes>
- configuration>
- plugin>
- plugins>
- build>