当前位置: 首页 > news >正文

SpringBoot-配置加载顺序

目录

前言

样例

内部配置加载顺序

​          样例

小结


前言

我之前写的配置文件,都是放在resources文件夹,根据当前目录下,优先级的高低,判断谁先被加载。但实际开发中,我们写的配置文件并不是,都放在一起的,甚至“东一个,西一个”。这时候,就需要,判断谁先被加载

同一级目录下,优先级:properties >yml  >yaml

样例

在resources 文件夹下,application.yml/.yaml配置文件,application.properties配置文件,同时改变端口号,观察最终端口号。

在resources文件夹,properties配置文件优先级大于 yml 配置文件和yaml配置文件,所以呈现的是properties配置文件下修改的端口号

内部配置加载顺序

注意:,当前模块下的resources,java文件夹都是放在classpath(classes文件夹)的目录下

特点(内部配置文件)

1 越靠近当前项目下的配置文件先执行,后面相同的部分,会被覆盖

(如果有一天,你配置信息,配置错误。你可以通过判断原有配置文件的位置,合理的在你当前项目下或当前项目下config目录下,重写一遍配置文件信息,他会覆盖你写错的配置信息)

2 具有config目录 下的配置文件,先执行

样例

题目:通过在不同的目录或文件夹,写配置文件,观察最终的端口号,判断谁的加载顺序最高?

1 当前项目SpringBoot-day01下config目录下,application.properties配置文件 端口号8081

注意:是当前项目下SpringBoot-day01config目录,而不是当前模块dayo2 ,否则会错误

建一个config目录,复制粘贴properties配置文件

2 当前项目下SpringBoot-day01的根目录,application.properties配置文件 端口号8082

复制粘贴properties配置文件

注意:是当前项目下SpringBoot-day01目录,而不是当前模块dayo2 ,否则会错误

3 classpath的根目录config,application.properties配置文件 端口号8083

在当前模块下resources文件夹,建一个config目录,复制粘贴

4在当前模块下 classpath的根目录,application.properties配置文件 端口号8084

点击运行,观察最终端口号结果

说明,在当前项目下config目录下的配置文件加载顺序最高的

如果,修改是相同内容,根据加载顺序,上面的会覆盖下面的。但如果不相同,加载顺序慢的配置文件,依旧会被加载

样例

我要在day02 模块下,resources文件夹下properties配置文件,修改项目的访问路径

在day02 模块,编写Controller类

点击运行发现,访问路径发生改变,原本默认的为 /,现在则是 /hello

小结

内部配置,是寄托于IDEA编辑器实现的。对于编写配置(命令,实现功能),我们不仅可以在IDEA中实现,还可以打开黑窗口,输入命令,在外部实现。例如把spring项目打成jar包,在“黑窗口”运行,大家可以看我SpringBoot配置--Profile这篇博客的命令行参数内容。

对于内部配置加载顺序,记住三点

1 靠近项目,优先被加载

2 具有config下的文件,在同等情况下,优先被加载

3 同一级目录下,优先级:properties  >yml >yaml 

http://www.lryc.cn/news/427592.html

相关文章:

  • 第八周:机器学习笔记
  • 音乐怎么剪切掉一部分?5个方法,轻松学会音频分割!(2024全新)
  • 洛谷 CF295D Greg and Caves
  • 【图像处理】在图像处理算法开发中,有哪些常见的主观评价指标和客观评价指标?
  • 从零开始学cv-6:图像的灰度变换
  • 使用Apache POI和POI-OOXML实现word模板文档自动填充功能
  • 【HarmonyOS NEXT星河版开发学习】综合测试案例-各平台评论部分
  • 垂直行业数字化表现抢眼 亚信科技全年利润展望乐观
  • EmguCV学习笔记 VB.Net 4.1 颜色变换
  • 【MySQL进阶之路】表结构的操作
  • 3分钟搞定PDF转PPT!你一定要知道的3款转换神器!
  • 【EasyExcel】导出excel-设置动态表头并导出数据
  • 深入探索 Elasticsearch 8:新特性与核心原理剖析(上)
  • 瑜伽馆预约小程序,在线预约,提高商业价值
  • Python--数据类型转换
  • 域控ntdsutil修改架构、域命名、PDC、RID、结构主机
  • 解决 Swift 6 全局变量不能满足并发安全(concurrency-safe)读写的问题
  • 迈入退休生活,全职开发ue独立游戏上架steam
  • 什么是光伏气象站——仁科测控
  • webshell免杀--免杀入门
  • Linux---02---系统目录及文件基本操作命令
  • CSP-J/S第一轮初赛模拟赛试题
  • LangGPT结构化提示词
  • 如何为个人网站更换ssl证书
  • RabbitMQ-消息队列延迟队列一
  • JavaScript中普通对象和Map对象的区别
  • Liunx搭建Rustdesk远程桌面服务
  • antv X6--实现节点旁添加多个text标签
  • JAVA--多线程
  • ADB-DROM