三十七 Java开发学习----SpringBoot多环境配置及配置文件分类( 二 )

SpringBoot 定义了配置文件不同的放置的位置;而放在不同位置的优先级时不同的 。
SpringBoot 中4级配置文件放置位置:

  • 1级:resources/application.yml
  • 2级:resources/config/application.yml
  • 3级:target/application.yml
  • 4级:target/config/application.yml
说明:级别越高优先级越高
3级与4级留作系统打包后设置通用属性
1级与2级用于系统开发阶段设置通用属性
2.1 代码演示2.1.1 环境准备创建一个名为 springboot_06_config_fileSpringBoot 工程,,参考Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析,目录结构如下
三十七 Java开发学习----SpringBoot多环境配置及配置文件分类

文章插图
resources 下创建一个名为 config 的目录 , 在该目录中创建 application.yml 配置文件,而在该配置文件中将端口号设置为 81,内容如下
server:port: 81而在 resources 下创建的 application.yml 配置文件中并将端口号设置为 80 , 内容如下
server:port: 802.1.2 验证1级和2级的优先级运行启动引导类,可以在控制台看到如下日志信息
三十七 Java开发学习----SpringBoot多环境配置及配置文件分类

文章插图
通过这个结果可以得出类路径下的 config 下的配置文件优先于类路径下的配置文件 。
2.1.3 验证2级和4级的优先级要验证4级,按照以下步骤完成
  • 将工程打成 jar
    点击工程的 package 来打 jar
    三十七 Java开发学习----SpringBoot多环境配置及配置文件分类

    文章插图
  • 在硬盘上找到 jar 包所在位置
    三十七 Java开发学习----SpringBoot多环境配置及配置文件分类

    文章插图
  • jar 包所在位置创建 config 文件夹,在该文件夹下创建 application.yml 配置文件,而在该配合文件中将端口号设置为 82
  • 在命令行使用以下命令运行程序
    java -jar springboot_06_config_file-0.0.1-SNAPSHOT.jar运行后日志信息如下
    三十七 Java开发学习----SpringBoot多环境配置及配置文件分类

    文章插图
    通过这个结果可以得出file: config 下的配置文件优先于类路径下的配置文件 。
注意:
SpringBoot 2.5.0版本存在一个bug,我们在使用这个版本时,需要在 jar 所在位置的 config 目录下创建一个任意名称的文件夹
【三十七 Java开发学习----SpringBoot多环境配置及配置文件分类】

推荐阅读