SpringBoot
定义了配置文件不同的放置的位置;而放在不同位置的优先级时不同的 。
SpringBoot
中4级配置文件放置位置:
- 1级:resources/application.yml
- 2级:resources/config/application.yml
- 3级:target/application.yml
- 4级:target/config/application.yml
说明:级别越高优先级越高2.1 代码演示2.1.1 环境准备创建一个名为
3级与4级留作系统打包后设置通用属性
1级与2级用于系统开发阶段设置通用属性
springboot_06_config_file
的 SpringBoot
工程,,参考Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析,目录结构如下
文章插图
在
resources
下创建一个名为 config
的目录 , 在该目录中创建 application.yml
配置文件,而在该配置文件中将端口号设置为 81
,内容如下server:port: 81
而在 resources
下创建的 application.yml
配置文件中并将端口号设置为 80
, 内容如下server:port: 80
2.1.2 验证1级和2级的优先级运行启动引导类,可以在控制台看到如下日志信息
文章插图
通过这个结果可以得出类路径下的
config
下的配置文件优先于类路径下的配置文件 。2.1.3 验证2级和4级的优先级要验证4级,按照以下步骤完成
- 将工程打成
jar
包
点击工程的package
来打jar
包
文章插图
- 在硬盘上找到
jar
包所在位置
文章插图
- 在
jar
包所在位置创建config
文件夹,在该文件夹下创建application.yml
配置文件,而在该配合文件中将端口号设置为82
- 在命令行使用以下命令运行程序
java -jar springboot_06_config_file-0.0.1-SNAPSHOT.jar
运行后日志信息如下
文章插图
通过这个结果可以得出file:config
下的配置文件优先于类路径下的配置文件 。
注意:【三十七 Java开发学习----SpringBoot多环境配置及配置文件分类】
SpringBoot 2.5.0版本存在一个bug,我们在使用这个版本时,需要在jar
所在位置的config
目录下创建一个任意名称的文件夹
推荐阅读
- 【Java8新特性】- Stream流
- 🔥支持 Java 19 的轻量级应用开发框架,Solon v1.10.4 发布
- Java核心技术阅读笔记 java中的自动拆装箱与缓存
- 驱动开发:内核取ntoskrnl模块基地址
- 【Java】 DirectByteBuffer堆外内存回收
- VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置
- 一个C#开发者学习SpringCloud搭建微服务的心路历程
- Java19虚拟线程都来了,我正在写的线程代码会被淘汰掉吗?
- VScode开发STM32/GD32单片机-环境搭建
- Playwright+Java 微软出品自动化神器Playwright系列(四)之浏览器操作