properties
yaml同以前的properties用法,可以理解为就是一种标记语言。
yaml
yaml非常适合用来做以数据为中心的配置文件
基本语法
- key:value;k、v之间有空格
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- ‘#’表示注释
- “与”表示字符串内容会被转义/不转义
接下来举例说明实际的用法是怎样的:
import lombok.Data;
import lombok.ToString;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ConfigurationProperties(prefix = "person")
@Data//使用lombok插件生成get、set方法
@ToString
public class Person {
private String personName;
private int personAge;
private boolean isBoss;
private Date personBirth;
private String[] interests;
private Pet personPet;
private List<String> animals;
private Map<String,Double> score;
private Set<Double> salarys;
private Map<String,List<Person>> allPets;
}
------------------------------------------------
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class Pet {
private String petName;
}
使用yaml配置文件的形式给各个参数设置属性值:
person:
personName: 张三
personAge: 22
isBoss: true
personBirth: 2021/3/18
#interests: [蓝桥,羽毛球,游泳]
interests:
- 蓝桥
- 羽毛球
- 游泳
animals:
- cat
- dog
- bird
#score: {english:80,math:90}
score:
english: 80
math: 90
salarys:
- 99.99
- 99.98
personPet:
petName: 阿狗
allPets:
sick:
- petName: 阿狗
- petName: 阿猫
- petName: 阿鸟
health:
- petName: 阿狗dog
- petName: 阿猫cat
- petName: 阿鸟bird
在以后的开发当中建议将项目的配置内容写在yaml配置文件当中。
配置注释处理器
要使用处理器,请包含对的依赖spring-boot-configuration-processor。
使用Maven时,应将依赖项声明为可选,如以下示例所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>