栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于springboot 多个配置文件的配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于springboot 多个配置文件的配置

一般情况下,springboot默认会在resource目录下生成一个配置文件(application.properties或application.yaml),但其实springboot允许配置多个配置文件(application.properties或application.yaml),但是这并不意味着这些配置文件一定会替换默认生成的配置文件,它们是互补的存在。如果在某些场景下需要把配置文件单独拿出来并且启动的时候加载进去,那么外部的配置文件将是一个很好的选择。

配置文件加载顺序

需要注意的是配置文件加载顺序加载顺序在springboot 2.4.0前后是不一样的。

  • springboot 2.4.0及其之前版本的配置文件加载顺序
file:./config/
file:./config
file:./config/
file:./
classpath:config/
classpath:

区别在于springboot 2.4.0之后的版本将file:./config8084file:./config配置文件
保持不变

server.port=8084
spring.application.name=file:./config/*/
  1. 修改启动类main方法
    在控制台打印server.error.path
public static void main(String[] args) {
		ConfigurableApplicationContext applicationContext = SpringApplication.run(MqApplication.class, args);
		ConfigurableEnvironment environment = applicationContext.getEnvironment();

		String property = environment.getProperty("spring.application.name");
		System.out.println("current spring.application.name="+property);

		String errorPath = environment.getProperty("server.error.path");
		System.out.println("errorPath="+errorPath);
	}
  1. 启动项目

从上面截图中可以发现三个配置文件中的所有属性都被加载出来了,而且优先级高的配置文件中的属性会覆盖优先级低的配置文件中的属性。

总结

springboot中可以配置多个配置文件,并且这些配置文件是可以共存的。当属性相同时,优先级高的配置文件会覆盖优先级低的配置文件中的属性;当属性不同时,最终的配置会取各个配置文件中属性的并集。

能力一般,水平有限,如有错误,请多指出。
如果对你有用点个关注给个赞呗
更多文章可以关注一下我的微信公众号suncodernote

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号