当前位置:   article > 正文

springboot原理篇-配置优先级_spring 配置优先级

spring 配置优先级

springboot原理篇-配置优先级(一)

springboot项目一个支持三种配置文件

  • application.properties
  • application.yml
  • application.yaml

其中,优先级的顺序是:

application.properties > application.yml > application.yaml

也就是说,优先级低的配置文件如果和优先级高的配置文件定义相同的配置信息,那么优先级高的会覆盖掉优先级低的配置文件

例如:

  • application.yml
server:
   port: 8082
  • 1
  • 2
  • application.yaml

    server:
       port: 8083
    
    • 1
    • 2

上述的配置文件中,生效的端口是8082,yaml文件中的端口不会被启用

注意事项:

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

SpringBoot 除了支持配置文件属性配置,还支持Java系统属性命令行参数的方式进行属性配置。

  1. Java系统属性配置 (格式: -Dkey=value)

    -Dserver.port=9000
    
    • 1
  2. 命令行参数 (格式:–key=value)

    --server.port=10010
    
    • 1

在这里插入图片描述

在这里插入图片描述

优先级: 命令行参数 > 系统属性参数 > properties参数 > yml参数 > yaml参数

思考:如果项目已经打包上线了,这个时候我们又如何来设置Java系统属性和命令行参数呢?

java -Dserver.port=9000 -jar XXXXX.jar --server.port=10010
  • 1

在这里插入图片描述

  • 仅设置Java系统属性

在这里插入图片描述

在SpringBoot项目当中,常见的属性配置方式有5种, 3种配置文件,加上2种外部属性的配置(Java系统属性、命令行参数)。通过以上的测试,我们也得出了优先级(从低到高):

  • application.yaml(忽略)
  • application.yml
  • application.properties
  • java系统属性(-Dxxx=xxx)
  • 命令行参数(–xxx=xxx)
    plication.yml
  • application.properties
  • java系统属性(-Dxxx=xxx)
  • 命令行参数(–xxx=xxx)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/1000786
推荐阅读
相关标签
  

闽ICP备14008679号