1.SpringBoot项目当中支持的三类配置文件:
- application.properties
- application.yml
- application.yaml
都是放在resource文件夹下
在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢?
- application.properties
server.port=8081
- application.yml
server:
port: 8082
- application.yaml
server:
port: 8082
可见生效的是
- application.properties
server.port=8081
配置文件优先级排名(从高到低):
- properties配置文件
- yml配置文件
- yaml配置文件
注意事项:虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置。(yml是主流)
2.除此之外SpringBoot为了增强程序的扩展性,除了支持配置文件的配置方式以外,还支持另外两种常见的配置方式:
-
Java系统属性配置 (格式: -Dkey=value)
-Dserver.port=9000
-
命令行参数 (格式:–key=value)
--server.port=10010
这两种方式配置的优先级都比前面三种在文件中配置的优先级高,并且在这两种之中,命令行参数的优先级又要高于Java系统属性配置
3.综上所述,五种配置的优先级的先后顺序为
- 1 命令行参数 (格式:–key=value)
- 2 Java系统属性配置 (格式: -Dkey=value)
- 3 application.properties
- 4 application.yml
- 5 application.yaml