SpringBoot中配置文件优先级是如何确定的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1921个文字,预计阅读时间需要8分钟。
在开发过程中,往往不知道是否存在类似经验,项目实际读取的配置信息有时与预期不符。今天就来研究一下SpringBoot读取配置文件的顺序。
一、SpringBoot读取配置文件优先级SpringBoot在读取配置文件时,优先级从高到低如下:
1. 命令行参数
2.JVM系统参数
3.随机生成的配置文件
4.classpath下config包及其子包下的配置文件
5.classpath下的配置文件
6.profile指定的配置文件(如application-{profile}.properties或application-{profile}.yml)
7.外部配置文件(如file:/config/或file:/etc/)
二、研究SpringBoot读取配置文件顺序
以SpringBoot读取application.properties为例,其读取顺序如下:1. 命令行参数:如--server.port=8080
2.JVM系统参数:如-Dserver.port=8081
3.随机生成的配置文件
4.classpath下config包及其子包下的配置文件
5.classpath下的配置文件:如classpath:application.properties
6.profile指定的配置文件:如application-dev.properties
7.外部配置文件:如file:/config/application.properties
综上,SpringBoot在读取配置文件时,会优先读取命令行参数,然后是JVM系统参数,以此类推。
本文共计1921个文字,预计阅读时间需要8分钟。
在开发过程中,往往不知道是否存在类似经验,项目实际读取的配置信息有时与预期不符。今天就来研究一下SpringBoot读取配置文件的顺序。
一、SpringBoot读取配置文件优先级SpringBoot在读取配置文件时,优先级从高到低如下:
1. 命令行参数
2.JVM系统参数
3.随机生成的配置文件
4.classpath下config包及其子包下的配置文件
5.classpath下的配置文件
6.profile指定的配置文件(如application-{profile}.properties或application-{profile}.yml)
7.外部配置文件(如file:/config/或file:/etc/)
二、研究SpringBoot读取配置文件顺序
以SpringBoot读取application.properties为例,其读取顺序如下:1. 命令行参数:如--server.port=8080
2.JVM系统参数:如-Dserver.port=8081
3.随机生成的配置文件
4.classpath下config包及其子包下的配置文件
5.classpath下的配置文件:如classpath:application.properties
6.profile指定的配置文件:如application-dev.properties
7.外部配置文件:如file:/config/application.properties
综上,SpringBoot在读取配置文件时,会优先读取命令行参数,然后是JVM系统参数,以此类推。

