SpringBoot 加载外部配置文件方法-跟踪源码
创始人
2025-05-28 14:29:35

springboot 工程如果项目有需求加载非本工程内的配置文件,我们应该怎么设置

SpringBoot 加载外部配置文件

默认加载

SpringBoot 默认加载配置文件是由SpringBoot默认声明的目录路径所加载,如果说是classpath下

配置方式

第一种

我们可以在SpringBoot启动类中设置环境参数,让SpringBoot加载所指定的目录

参数设置如下

        SpringApplication application = new SpringApplication(SpringBootDemoApplication.class);// 设置环境ConfigurableEnvironment environment = new StandardEnvironment();MutablePropertySources propertySources = environment.getPropertySources();Map myMap = new HashMap<>();// 这里设置配置文件所在地址myMap.put("spring.config.location", "D:\\");propertySources.addFirst(new MapPropertySource("MY_MAP", myMap));application.setEnvironment(environment);application.run(args);

我们设置了配置文件的地址为D盘下面,SpringBoot 启动的时候就会在D盘下进行查询配置文件,不会在classpath中进行查找

第二种

通过Idea设置环境变量

如果是JAR包则使用如下配置

java -jar app.jar --spring.config.location=D:\\

源码跟踪

springboot在获取配置文件所在目录的时候先判断 环境中是否手动设置了配置文件目录

源码是如何跟踪到这里的可以看一下我这篇文章

下面我们看一下这个方法中都做了什么操作,这里环境的对象就回去判断是否包含spring.config.location 这个属性,这个属性就是我们在上面所配置的属性。

显然这里是包含的,所以SpringBoot会获取到这个执行,进行格式处理后进行返回,不会走默认的目录方法

完结

还请多多指教

相关内容

热门资讯

记者手记|时代大潮里的笃行与担... 来源:新华社记者手记|时代大潮里的笃行与担当新华社记者韩梁 朱瑞卿 伍岳9月的新德里草木葱郁,阳光热...
被骂 “君子之贼” 高若讷有点...     ◎宋慧敏    北宋景祐三年(1036年)一个春日,谏官高若讷接到一封信,写信人是刚刚入朝任...
烂缦胡同:烟火气里涌动青春创业...     近日,在“全国文化中心建设巡礼”主题采访活动中,北京青年报记者走进北京市西城区牛街街道烂缦胡...
科技赋能实体 金融护航出海     9月9日至13日,2026年中国国际服务贸易交易会(以下简称服贸会)在北京首钢园举办,今年的...
湖北大学最新或2023(历届)...   1、考生自最新或2023(历届)4月1日起可在湖北大学招生信息网(http://zsxx.hub...