遇到这样一个问题,就是我在引用一个有application.yml的公共maven项目的时候,新maven项目的application.yml会覆盖公共项目的配置文件,SpringBoot是由上向下扫描的文件的,那么总不能其它maven的application.yml都配置文件都写一遍吧~ ???
如图所示:
解决思路:
? ? ? ?既然覆盖的是相同的文件名称,SpringBoot还有一种properties的配置文件方式,把公共的配置为application.properties就可以了~
如图所示:
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目录下”
15213920