使用命令启jar 命令为
java -jar springbootconfig-0.0.1-SNAPSHOT.jar --spring.config.location=X:/application.properties
我有一个外部的配置文件 是X盘下的application.properties
启动完成 可以看到tomcat的启动端口是8094 项目的访问路径是boot10
但是如果我将外部配置文件中的项目访问路径删除 只留下启动端口 启动之后如下图
此时的项目访问路径为空 但是我项目中的resource/application.properties 中有 访问路径的配置
为什么此时没有互补配置的效果了?
spring.config.location
这个配置决定了会从哪些地方去加载配置文件,如果你修改了它。那么就会覆盖掉默认的配置。只会从你指定的位置去加载配置文件。
spring.config.additional-location
这个配置也可以达到相同的目的,修改springboot加载配置文件的目录,但是它不会覆盖默认的,只会新增指定的路径。
参考类
ConfigFileApplicationListener
懂了 spring.config.location 配置了这个参数 只会去取外部的配置文件 没有默认的配置文件;
spring.config.additional-location 这个 外部配置文件也会加载 内部配置文件也会加载 形成互补配置 多谢
1 Like