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.propertiesapplication.ymlapplication.yaml。如果项目中同时存在多个配置文件且包含相同的属性配置,比如 Tomcat 端口号,Spring Boot 会根据以下优先级来决定哪个配置生效:

  • 优先级最高application.properties
  • 其次application.yml
  • 最低application.yaml

此外,Spring Boot 还支持其他两种配置方式:

  • Java 系统属性:通过 -Dkey=value 格式配置,如 -Dserver.port=9000
  • 命令行参数:通过 --key=value 格式配置,如 --server.port=10010

最终的配置优先级从低到高依次为:

  1. application.yaml
  2. application.yml
  3. application.properties
  4. Java 系统属性(-Dxxx=xxx
  5. 命令行参数(--xxx=xxx

注意事项:

虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置。(yml是主流)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyt涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值