配置文件类型
- properties ------- key=value 优先级比yaml高
server.port=8888
- yaml ------ key:空格value
spring:
profiles:
active: test
两种配置文件的区别
|
yaml |
properties |
支持注解 |
@ConfigurationProperties |
@Value |
功能 |
批量注入配置文件中的属性 |
一个个指定 |
松散绑定 |
支持 |
不支持 |
SpEL |
不支持 |
支持 |
JSR303数据校验 |
支持 |
不支持 |
复杂类型封装 |
支持 |
不支持 |
// yaml 文件
person:
last_name: zhangsan
age: 12
sex: 男
likes:
- book
- movie
- girl
@ConfigurationProperties(prefix = "person")
// JSR303数据校验 @Validated @Email
@Validated
public class Person {
// 松散绑定 last_name -> lastName
@Email
private String lastName;
private Integer age;
private String sex;
private List<String> likes;
}
// properties
public class Person {
@Value("${person.name}")
// SpEL 表达式
@Value("#{1+2}")
private Integer age;
@Value("${person.sex}")
private String sex;
private List<String> likes;
}
配置文件的位置优先级
- file:./config/ 和项目同级别下创建一个config
- file:./ 和项目同级别
- classpath:/config/ resources 目录下config 文件夹下
- classpath:/ resources 目录下