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