Spring Boot配置加载顺序

Spring Boot 不仅可以通过配置文件进行配置,还可以通过环境变量、命令行参数等多种形式进行配置。这些配置都可以让开发人员在不修改任何代码的前提下,直接将一套 Spring Boot 应用程序在不同的环境中运行。
Spring Boot 配置优先级
以下是常用的 Spring Boot 配置形式及其加载顺序(优先级由高到低):
命令行参数
来自 java:comp/env 的 JNDI 属性
Java 系统属性(System.getProperties())
操作系统环境变量
RandomValuePropertySource 配置的 random.* 属性值
配置文件(YAML 文件、Properties 文件)
@Configuration 注解类上的 @PropertySource 指定的配置文件
通过 SpringApplication.setDefaultProperties 指定的默认属性

以上所有形式的配置都会被加载,当存在相同配置内容时,高优先级的配置会覆盖低优先级的配置;存在不同的配置内容时,高优先级和低优先级的配置内容取并集,共同生效,形成互补配置。
命令行参数
Spring Boot 中的所有配置,都可以通过命令行参数进行指定,其配置形式如下。
java -jar {Jar文件名} --{参数1}={参数值1} --{参数2}={参数值2}
示例 1

  1. 在 springbootdemo 项目启动时,使用以下命令。
    java -jar springbootdemo-0.0.1-SNAPSHOT.jar --server.port=8081 --server.servlet.context-path=/bcb

你可能感兴趣的:(Spring,Boot框架,java,spring,boot,java,spring,架构,服务器)