暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot配置文件详解

大数据从业者 2021-06-06
1110

概述

通常情况SpringBoot默认配置文件为application.properties,实际使用时还需要有application-dev.properties(开发环境使用)application-prod.properties(生产环境使用)application.properties通过设置spring.profiles.active=devprod决定使用哪一个配置,三个配置文件放置均在resources文件夹。上述表述,想必大家都没有异议。本文主要是探究配置文件的放置位置及优先级、如何定制配置文件的放置位置、如何定制配置文件的文件名。

除了application.properties文件内设置spring.profiles.active=devprod,也可以在项目启动的时候,以参数形式传入:

    java -jar -Dspring.profiles.active=dev  demo-1.0.0-SNAPAHOT.jar

    表示使用application-dev.properties配置文件。


    默认配置文件位置及优先级

    application.properties可以放置四个位置,优先级从1到4依次递减。

      1. 当前项目根目录下的config目录下
      2. 当前项目的根目录下
      3. resources目录下的config目录下
      4. resources目录下

      所以说,我们平时通过IDEA创建的SpringBoot工程在resource目录下自动生成的配置文件,优先级最低。

      注意:1中强调了是config目录必须存在子目录,否则会异常:

        15:04:31.871 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
        java.lang.IllegalStateException: No subdirectories found for mandatory directory location 'file:./config/*/'.


        定制配置文件放置位置

        通过 spring.config.location可以定制application.properties配置文件的位置。注意:定制放置位置的配置文件优先级高于上述四个默认位置配置文件。

          java -jar demo-1.0.0-SNAPAHOT.jar --spring.config.location=classpath:/felixzh/


          定制配置文件文件名称

          通过spring.config.name可以定制配置文件的文件名:

            java -jar demo-1.0.0-SNAPAHOT.jar --spring.config.name=MyApp.properties


            文章转载自大数据从业者,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论