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会获取到这个执行,进行格式处理后进行返回,不会走默认的目录方法

完结

还请多多指教

相关内容

热门资讯

最新或2023(历届)江西遂川... 江西遂川:多举措强化工伤认定  为进一步加强工伤事故申报,规范工伤认定程序,确保工伤保险基金安全,江...
西安西桃园村城中村拆迁改造安置...  一、本次城中村改造项目的法律、政策依据是什么?   答:依据《西安市城中村改造管理办法》及西安市城...
华睿十年 生态共创 | 202... (来源:AGV网)
以正确认知共寻相处之道(钟声·...   中美共同走出一条前无古人的大国相处新路,是这个时代面临的最重大命题之一。破题的关键,就是要树立正...
新产业造富记:富豪榜里的三个广...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:21世纪经济...