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

完结

还请多多指教

相关内容

热门资讯

药师提醒:这些用药习惯赶紧改   胶囊掰开吃、果汁送药、跟风囤药?错错错!  药师提醒:这些用药习惯赶紧改胶囊较轻且无法立即溶解,...
福清多所学校课间延长至15分钟   14日,记者获悉,本学期起,福清市崇文小学、三山中心小学等福清多所中小学将课间活动时间从原来的1...
总投资20亿元!福州启迪科技城... 近日,记者获悉,福州启迪科技城园区二期二段建设正全力推进,预计今年9月底竣工交付,预计可引入优质企业...
2025年度福建省科学技术奖提... 福州新闻网4月15日讯(记者 赖志昌)近日,福建省科学技术奖励委员会办公室发布通知,正式启动2025...
台胞入境大陆人次同比上升 国台... 4月15日,国台办举行例行新闻发布会。有记者问:尽管民进党当局极力阻挠两岸交流交往,但国家移民管理局...