SpringBoot的配置加载优先级

目录

一、背景分析

二、学习资源

三、具体使用

四、一些小技巧 

方式一

方式二


一、背景分析

        SpringBoot项目在打包之后,其配置文件就在jar包内,如果没有<配置文件优先级>这个机制,那么项目打成jar包之后,如果启动项目就只能使用jar包内的配置信息。那么问题来了,如果在项目打成jar包之后,我又想修改一些配置信息怎么办?难道还要重新打开项目源代码,把配置文件修改了之后再重新打包吗?这就太麻烦了,所以就有了此篇文章要介绍的<SpringBoot的配置(文件)加载优先级的技术>。

二、学习资源

        个人觉得通过视频+官方文档结合学习,然后再自己动手实操,学习效果最佳。如果能及时把学的知识点运用在实际项目开发中,那就更好了。

  • 学习视频地址:82、高级特性-配置加载优先级_哔哩哔哩_bilibili
  • SpringBoot官方学习资料地址: Core Features (spring.io)

 说明:这里看的官方文档是SpringBoot2.7.15版本的,不同版本的SpringBoot文档可能会有差异性,想要查询SpringBoot的所有历史官方文档,可以看这篇博文:SpringBoot历史官方文档-CSDN博客

三、具体使用

         直接通过官方文档来学习,如下图:

        通常在开发过程中,我们经常使用的是 配置文件和命令行的方式进行配置信息的设置和修改,如下图: 

​ 

         针对外部配置文件(即:application.yml或application.properteis)的方式,这个配置文件可以有如下位置方式(即SpringBoot项目可以查找配置文件的位置有哪些),其加载的优先顺序如下:

关于上图,更直观的解释如下图:

​ 

四、一些小技巧 

        关于上面的知识点一中提到,可以在使用java -jar xxx.jar 命令时,在后面增加临时属性,然后覆盖配置文件中的属性。但是现在的问题是,我需要提前对将来要在 java -jar xxx.jar 命令后面增加的临时属性进行测试,看看是否会生效,那么在本地idea环境中该如何进行测试呢?

方式一

        在IDEA中的 Program argumets 里面添加临时属性,如下图

方式二

        方式二及一些小技巧如下图:

五、总结

 关于配置文件的加载顺序问题,总结就是:指定环境优先,外部优先,后面的可以覆盖签名的同名配置项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/245132.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python的模块与库,及if __name__ == ‘__main__语句【侯小啾python领航班系列(二十四)】

Python的模块与库,及if name == __main__语句【侯小啾python领航班系列(二十四)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…

分享76个节日PPT,总有一款适合您

分享76个节日PPT&#xff0c;总有一款适合您 76个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1pUnIoIUhzyXAB_5LnKGnNg?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

关于svn如何上传一个完整的项目

注意&#xff1a;请一定要按照该步骤进行操作&#xff0c;请上传新项目时将项目名称进行规范命名 例如原始文件是arrange_v2 将此项目需要注入新的医院 则命名为 arrange_某医院名称_门诊或者医技或者药房_v2 重新命名文件夹名称快捷键 &#xff08;F12&#xff09; 一 &…

计算机网络扫盲(4)——时延

一、概述 在这里&#xff0c;我们考虑分组交换网的情况&#xff0c;因特网可以被看成是一种基础设施&#xff0c;该基础设施为运行在端系统上的分布式应用提供服务。在理想情况下&#xff0c;我们希望因特网服务能够在任意两个端系统之间随心所欲地移动数据而没有任何数据地丢失…

Python标准库:copy模块【侯小啾python领航班系列(十五)】

Python标准库:copy模块【侯小啾python领航班系列(十五)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

风控交易系统跟单系统资管软件都有哪些功能特点?

资管分仓软件的主要功能就是母账户可以添加子账号&#xff0c;并且设置出入金&#xff0c;手续费、保证金、风控等功能&#xff0c;同时监控端更可以直观的看子账户的交易情况直接折线图展示更加直观&#xff0c;在监控端的最高权限可以直接一键平仓子账户&#xff08;如果子账…

二蛋赠书十期:《剪映短视频剪辑从入门到精通》

前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c;每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此&#xff0c;我非常感激大家一直…

大数据|计算机毕业设计——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据|计算机毕业设计——基于Django协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈&#xff1a;大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬…

“此应用专为旧版android打造,因此可能无法运行”,问题解决方案

当用户在Android P系统上打开某些应用程序时&#xff0c;可能会弹出一个对话框&#xff0c;提示内容为&#xff1a;“此应用专为旧版Android打造&#xff0c;可能无法正常运行。请尝试检查更新或与开发者联系”。 随着Android平台的发展&#xff0c;每个新版本通常都会引入新的…

办公室状态公告系统保护涉密和高级领导办公室

天纵办公室状态公告系统通过在办公室外设置一个公告屏的方式告诉来访者办公室目前的使用状态&#xff0c;以防来访者盲目敲门影响办公室内领导的工作。主要用于高级领导办公室、涉密办公室等重要场所。 天纵办公室状态公告系统可能通过触摸电脑、平板或机械按钮等方式控制室外公…

高光谱遥感影像分类项目开源

热烈欢迎大家在git上star&#xff01;&#xff01;&#xff01;冲鸭&#xff01;&#xff01;&#xff01; 我研究生期间主要是做高光谱遥感影像分类的&#xff0c;毕业论文也是基于深度学习的高光谱遥感影像分类课题&#xff0c;转眼间已经毕业四年了&#xff0c;如今把这块材…

PCL 空间直角坐标系与极坐标系的相互转换(C++详细过程版)

目录 一、算法原理1、空间坐标系转极坐标系2、极坐标系转空间坐标系二、代码实现三、结果展示1、空间坐标系转极坐标系2、极坐标系转空间坐标系本文由CSDN点云侠原创,原文链接。爬虫网站自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不