springboot配置文件加载位置和顺序

Posted 小林さん

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot配置文件加载位置和顺序相关的知识,希望对你有一定的参考价值。

springboot 配置文件加载位置

springboot启动会扫描以下位置的application.properties/yml文件作为Springboot的默认配置文件

1.file:./config/ --file指的是项目文件夹

2.file:./

3.classpath:/config/ --classpath指的是resources文件夹下

4.classpath:/

优先级由高到低,高优先级的配置会覆盖低优先级的配置;

Springboot会从这四个位置全部加载主配置文件,互补配置

还可以通过spring.config.location 来改变默认配置文件位置

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=D:/xxx.properties

一般用于项目打包好以后,来指定配置文件的新位置,指定路径的配置会和原来的配置形成互补配置

springboot 外部配置加载顺序

springboot也可以从以下位置加载配置,优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补

1.命令行参数

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8085

多个配置用空格分开 --参数项=值

2.来自java:comp/env的JNDI属性

3.java系统属性( System.getProperties() )

4.操作系统环境变量

5.RandomValuePropertySource配置的random.*属性值

6.jar包外部的application-{profile}.properties或application.yml( 带spring.profile )配置文件

7.jar包内部的application-{profile}.properties或application.yml( 带spring.profile )配置文件

8.jar包外部的application.properties或application.yml( 不带spring.profile )配置文件

9.jar包内部的application.properties或application.yml( 不带spring.profile )配置文件

10.@Configuration注解类上的@Properties指定的默认属性

11.通过SpringApplication.serDefaultProperties指定的默认属性

等等,具体参考官网

以上是关于springboot配置文件加载位置和顺序的主要内容,如果未能解决你的问题,请参考以下文章

springboot配置文件的加载位置以及外部配置加载顺序04

springboot配置文件的加载位置以及外部配置加载顺序04

springboot配置之配置文件的加载顺序

SpringBoot配置文件——加载顺序

springboot 加载配置文件顺序

springboot 加载配置文件顺序