Springboot maven项目配置文件覆盖问题的处理

来自:网络
时间:2024-06-09
阅读:

Springboot maven项目配置文件覆盖

遇到这样一个问题

就是我在引用一个有application.yml的公共maven项目的时候

新maven项目的application.yml会覆盖公共项目的配置文件

SpringBoot是由上向下扫描的文件的,那么总不能其它maven的application.yml都配置文件都写一遍吧~    

如图所示:

Springboot maven项目配置文件覆盖问题的处理

解决思路

既然覆盖的是相同的文件名称

SpringBoot还有一种properties的配置文件方式

把公共的配置为application.properties就可以了~

如图所示:

Springboot maven项目配置文件覆盖问题的处理

SpringBoot配置文件可以使用yml格式和properties格式

分别的默认命名为:application.yml、application.properties

存放目录

SpringBoot配置文件默认可以放到以下目录中,可以自动读取到:

  • 项目根目录下
  • 项目根目录中config目录下
  • 项目的resources目录下
  • 项目resources目录中config目录下

读取顺序

如果在不同的目录中存在多个配置文件,它的读取顺序是:

  • 1、config/application.properties(项目根目录中config目录下)
  • 2、config/application.yml
  • 3、application.properties(项目根目录下)
  • 4、application.yml
  • 5、resources/config/application.properties(项目resources目录中config目录下)
  • 6、resources/config/application.yml
  • 7、resources/application.properties(项目的resources目录下)
  • 8、resources/application.yml

注:

  • 1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
  • 2、如果同一个配置属性,在多个不同名的配置文件中都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
  • 3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

返回顶部
顶部