目录
  • Springboot maven项目配置文件覆盖
    • 遇到这样一个问题
    • 解决思路
    • 存放目录
    • 读取顺序
  • 总结

    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目录下”

    总结

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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。