Springboot配置优先级
1. 各种配置介绍
在SpringBoot项目当中,我们要想配置一个属性,可以通过这五种方式当中的任意一种来配置都可 以,那么如果项目中同时存在这五种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢?
1.1 application.properties
server.port=8081
1.2 application.yml
server:
port: 8082
1.3 application.yaml
server:
port: 8083
1.4 系统属性配置
格式: -Dkey=value
-Dserver.port=9000
1.5 命令行参数
格式:--key=value
--server.port=10010
如果项目已经打包上线了,这个时候我们又如何来设置Java系统属性和命令行参数呢?
java -Dserver.port=9000 -jar XXXXX.jar --server.port=10010
2. Spring Boot 配置优先级
在 Spring Boot 项目中,配置文件有三种常见的格式:application.properties
、application.yml
和 application.yaml
。如果项目中同时存在多个配置文件且包含相同的属性配置,比如 Tomcat 端口号,Spring Boot 会根据以下优先级来决定哪个配置生效:
- 优先级最高:
application.properties
- 其次:
application.yml
- 最低:
application.yaml
此外,Spring Boot 还支持其他两种配置方式:
- Java 系统属性:通过
-Dkey=value
格式配置,如-Dserver.port=9000
。 - 命令行参数:通过
--key=value
格式配置,如--server.port=10010
。
最终的配置优先级从低到高依次为:
application.yaml
application.yml
application.properties
- Java 系统属性(
-Dxxx=xxx
) - 命令行参数(
--xxx=xxx
)
注意事项:
虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置。(yml是主流)
原文地址:https://blog.csdn.net/qq_46637011/article/details/142769651
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!