一、语法
- key: value
- 大小写敏感
- 使用缩进标识层级关系
- 缩进重要,但是同一层级必须在相同缩进内
- 不可以使用tab,只能用空格
- 字符串不需要增加""或''
二、事例
package com.test.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ConfigurationProperties(prefix = "person")
@Component
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Person {
private String userName;
private Boolean boss;
private Date birth;
private Integer age;
private Car car;
private String[] interests;
private List<String> animal;
private Map<String, Object> score;
private Set<Double> salarys;
private Map<String, List<Car>> allCars;
}
person:
userName: ss
boss: true
birth: 1988/02/25
age: 33
#interests: [篮球, 健身]
interests:
- 篮球
- 健身
animal: [狗, 主]
# score:
# english: 80
# math: 90
score: {english: 90, math: 80}
salarys:
- 999.90
- 998009.00
car:
brand: 卡罗拉
price: 138000
allCars:
zhen:
- {brand: 卡罗拉, price: 138000}
jia:
- brand: 劳斯莱斯
price: 1000000
- brand: 劳斯莱斯
price: 1000000
在yml文件中,单引号和双引号不同在于是否需要转义,单引号内的字符串是需要转义作为字符串输出。也就是双引号不会转义,单引号会转义。
加入以下代码后,就会让自定义的bean,能够在配置文件中有提示。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
同时在打包的时候,这些提示的工具不需要打包进去,所以没必要进行打包。