SpringBoot中提供了多中属性配置方式
application.properties
server.port=9090
server.servlet.context-path=/start
application.yml/application.yaml
server:
port: 9090
servlet:
content-path: /start
相比于application.properties,application.yml/application.yaml拥有着层次清晰的优势。
yml配置的书写
- 值的前面必须有空格作为分隔符
- 使用空格为缩进表示层级关系,相同的层级左侧对齐
- 数组形式前面加一个"-"
// 数组形式的yml
hobbies:
-篮球
-足球
-羽毛球
yml配置的获取
@Value("${键名}")
email:
user: XXXXX@qq.com
@Component
public class EmailPropertie {
// 获取邮件发件人
@Value("${email.user}")
public String user;
}
@ConfigurationProperties(prefix="前缀")
email:
user: XXXXX@qq.com
code: 124654513212
@ConfigurationProperties(prefix = "email")
@Component
public class EmailPropertie {
// 要求和配置文件中的属性名一一对应
public String user;
public String code;
}