竹笋

首页 » 问答 » 灌水 » SpringBoot配置文件的加载优先级
TUhjnbcbe - 2023/4/1 0:21:00
白癜风治疗的医院 https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin

01application.properties加载

SpringBoot启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认配置文件

file:/config/file:/classpath:/config/classpath:/以上顺序按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级的配置内容会覆盖低优先级配置的内容,其中配置文件中的内容是互补配置,即

存在相同的配置内容,高优先级的内容会覆盖低优先级的内容存在不同的内容的时候,高优先级和低优先级的配置内容取并集我们也可以通过spring.config.location来改变默认的配置,具体做法就是项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定配置文件和默认加载的配置文件共同起作用称为互补配置

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

02外部配置的加载顺序

SpringBoot也可以从以下位置加载配置:优先级从高到低顺序,高优先级覆盖低优先级,如有不同内容,高优先级和低优先级形成互补配置

命令行参数命令行参数的优先级是最高的,假定内部配置的最高优先级配置文件配置的启动端口号是,启动命令行参数如以下设置:

java-jarspring-boot-02-config-02.0.0.1-SNAPSHOT.jar--server.port=

那么启动的端口就改成了,命令行可以把项目的所有的配置选项全部都改掉

来自java:

1
查看完整版本: SpringBoot配置文件的加载优先级