springboot中配置文件优先级以及分类,这你都可以不会吗?不会赶紧进来学( ̄(∞) ̄)

news2024/11/17 11:47:23

各位小伙伴大家好呀┗( ▔, ▔ )┛,马上过年了,但是感觉没啥期待的哈哈哈哈哈,现在的年说实话真的挺没劲的呜呜。
言归正传,我们大家在使用springboot时难免会写各种各样的配置信息,比如port,jdbc啊这些,用的配置文件由yml、properties等,我今天就来说一说配置文件中的分类、优先级是怎么样的─=≡Σ(((つ•̀ω•́)つ

1.配置文件的优先级

在我们的项目打包好了之后,如果我们想改变一些配置或者增加一些配置,我们可以使用修改或者增加临时配置信息的方式实现
这里我将我的一个boot的demo打包,在这里我将项目的最初访问端口设置成80端口
在这里插入图片描述
然后我们找到我们打包好后的jar包,在jar包所在目录输入cmd进入黑窗口,通过黑窗口来启动我们打包好的项目,这是我们没有增加临时属性的启动端口,可以看到是80端口
在这里插入图片描述
但是如果我们增加了临时属性呢?究竟谁会生效?

1.方式一:在黑窗口增加临时属性

Ps:临时属性添加方式:java –jar 工程名.jar –-属性名=值 ; 临时属性必须是当前boot工程支持的属性,否则设置无效
这里我们修改了端口号为81,运行后发现临时属性覆盖了最初我们定义的端口号,对于没有改变的配置则是加以保留,这也很好说明了临时属性的优先级是大于配置文件的
在这里插入图片描述

2.方式二:在开发环境中增加临时属性

在进行这一种方式增加前,我们先在黑窗口ctrl + c关掉我们刚才启动的项目,否则可能会发生端口复用。下面我们在idea中来进行临时属性的配置
在这里插入图片描述
在这里插入图片描述
在idea中运行项目
在这里插入图片描述

2.配置文件的分类

springboot的配置文件分为4个等级也是四类,4个等级分别是

  • 类路径下配置文件(我们开发时一直使用的是这个,也就是resources目录中的application.yml文件)
  • 类路径下config目录下配置文件
  • 程序包(jar包)所在目录中配置文件
  • 程序包(jar包)所在目录中config目录下配置文件

为啥配置文件还要分等级?不都是照样用?其实我开始也疑惑,但是我们这样想或者就想通了,如果你是为银行开发一个系统,你说那银行会让你知道银行钱库的密码吗(ಥ_ಥ) 不会吧,我不配知道〒▽〒,在一个公司经理所用的配置文件和我们程序员用的配置文件肯定是不一样的,可以这样说明一下

  1. file :config/application.yml 【最高】 给项目经理用的

  2. file :application.yml 程序员用的

  3. classpath:config/application.yml

  4. classpath:application.yml 【最低】
    *这样一看,程序员果然是活活打工人呀o( ̄3 ̄)o

1.首先我们来看看1和2的优先级,我们在resource目录下创建一个config目录,然后在里面在创建一个application.yum配置文件

在这里插入图片描述
在config目录中的配置文件我们配置端口为81
在这里插入图片描述
在resource目录下的配置文件我们配置端口为80
在这里插入图片描述
在idea中启动项目
在这里插入图片描述
我们看到config下的配置文件优先级是高于resource下的配置文件的

2.我们再来比较3和4的优先级

同样的我们创建和在idea中一样的配置,只不过我们这次是在jar包所在的目录下创建与idea中同样的配置结构,一个config目录下的配置,一个直接将配置放在jar包所在的目录下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另一个与jar包同一级的配置
在这里插入图片描述
运行jar包
在这里插入图片描述
我们发现访问82端口可以,80端口不可以,也就说明了启动jar包时配置的优先级和在idea中启动时配置的优先级可以说类似的,同样是config目录下的配置文件优先级更高
在这里插入图片描述

3.总结

其实可通过几句话来总结了,但是为了举例实际展示出,需要啰嗦更多,其实就是临时属性优先级是要高于我们的初始化配置,然后在初始化配置时,idea中resource目录下config目录下的配置高于直接在resource目录下的配置,在jar包所在的目录下配置优先级和idea中是一样的
这就是一个简单的注意点啦(ಥ_ಥ) 我感觉我说的有点啰嗦哈哈哈哈哈哈,各位大哥不要介意呜呜,提前祝大家新年快乐啦~谢谢耐心观看(σ゚∀゚)σ…:*☆哎哟不错哦

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022这一年:阳了、变轨和逆风

又到年末了,2022这一年应该会让人记忆深刻,于我而言这一年的感受有明显的分界线,在此之前的世界温暖一些,提供着能量,让人心生探索它的纷繁多彩;今年世界变得寒冷了,展示着它的严酷与无情。阳了…

再学C语言20:循环控制语句——for循环

在while循环中,建立一个重复执行固定次数的循环涉及到3个动作: 1)初始化一个计数器 2)计数器与某个有限的值比较 3)每次执行循环,要在循环体中让计数器的值递增 其中,计数器的初始化在循环之…

【pandas】教程:6-如何计算摘要统计

Pandas 计算摘要统计 本节使用的数据为 data/titanic.csv,链接为 pandas案例和教程所使用的数据-机器学习文档类资源-CSDN文库 加载数据 import pandas as pdtitanic pd.read_csv("data/titanic.csv") titanic.head()PassengerId Survived Pclass \…

#Z0424. 树上的旅行

题目 Description 给出一棵有N个结点的树,给出Q个询问,求结点xj过结点K到节点yj的最短距离 Format Input 第一行一个数n 接下来共有n-1行,三个数u,v,len表示u和v之间存在一条边长为len 再给你Q,K。代表有Q个询问&#xff0…

视频 | bedtools使用介绍1

点击阅读原文跳转完整教案。基因组中的趣事(二)- 最长的基因2.7 million,最短的基因只有8 nt却能编码基因组中的趣事(一):这个基因编码98种转录本1 Linux初探,打开新世界的大门1.1 Linux系统简介…

10000+条数据的内容滚动功能如何实现?

遇到脑子有问题的产品经理该怎么办?如果有这么一个需求要你在一个可视区范围内不间断循环滚动几千上万条数据你会怎么去实现? 且不说提这个需求的人是不是脑子有问题,这个需求能不能实现?肯定是可以的,把数据请求回来渲…

2022蓝桥杯省赛C++A组初尝试

前言 耗时三个半小时,看看自己不懂的有多少,以便明确后续备赛2023方向 耗时3个半小时,只拿了18分,没学过,时间再多也做不出来,有奥数那感觉了 据说蓝桥杯省3得做对 2填空 2大题(30分&#x…

PMP®项目管理|不同场景使用不同沟通方式

不同沟通方式的确有适用场景和不适用场景。无效沟通的重要原因之一就是错误选择沟通方式。 我们会在工作中用到很多沟通方式,每种沟通方式都有适用的场合,也有不适用的场合,错误选择将使沟通变得低效甚至无效。 沟通方式主要有三种&#xf…

一百种语言的LOVE

2023年快要到来啦,很高兴这次我们又能一起度过~ 目录 一、前言 二、详细介绍 三、效果展示 四、代码编写 index.html script.js style.css 五、获取代码 需要源码,可以私信我(⊙o⊙)?关注我? 一、前言 时光荏苒&#xf…

vue element-ui 手机号校验 验证码校验 获取验证码倒数60秒无样式实现

这段时间被迫搞前端搞裂开了,记录一下手机号验证码校验登录的极简无样式前端实现 巨丑!希望大佬们不介意 下面是先演示效果 点击登陆后显示校验信息 输入手机号点击获取验证码 输入符合校验的内容后点击登录提示成功 无后端交互!&#…

从档案信息管理到档案知识管理

今年6月份的时候,笔者发过一篇文章《DIKW模型在档案信息资源开发中的应用》,简要阐述了知识管理领域非常著名的DIKW模型,即从数据(Data)→信息(Information)→知识(Knowledge&#x…

基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

Android 学习笔记

目录一.Android入门1.Android 概述2.Android Studio3.创建模拟器4.使用外部模拟器5.第一个app二.app开发基础1.开发语言2.app工程目录结构3.文本控件TextView(1)设置文本内容(2)设置文本大小(3)设置文本颜色(4)设置背景颜色(5)设置视图宽高(6)设置视图间距(7)设置视图对齐方式4…

fpga实操训练(硬件乘法器)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 fpga上面的资源一般分成lut、pin、dff、dsp、pll。至于rom、ram、fifo,一般也是基于dff和lut来创建的,之前我们也讨论过。今…

ABAP 之ALV展示及下钻弹窗数据页面

序 HELLO, 这里是百里一个学习中的ABAPER,这里记录工作学习中遇到的bug,知识内容等内容.今天讲的是在工作中经常会使用的数据下钻,通过跳出小界面的方式展示关联数据.今天结合工作经验这里做下技术总结. 下钻简介 在ALV报表展示中.会出现关键字段下钻,展示某个界面或者系统自…

C语言基础--操作符详解

文章目录一、操作符1. 算数操作符2. 移位操作符(1)右移操作符举例补充(2)左移操作符举例分析(3)警告3.位操作符(1)按位与(2)按位或(3)…

小程序之后台交互--个人中心

目录一、微信登录流程简介二、微信用户信息获取1、index.js2、index.wxml三、微信登录流程代码详解1、后台准备①导入微信小程序SDK②application.yml③WxProperties④WxConfig⑤WxAuthController1、登录-小程序①login.js②user.js③util.js四、emoji的存储1、修改配置文件my.…

ArcGIS基础实验操作100例--实验24提取栅格独立格网面

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验24 提取栅格独立格网面 目录 一、实验背景 二、实验数据 三、实验步骤 (…

VMware 中 克隆多台虚拟机 快速创建虚拟机集群

我们在实际开发中可能会涉及到多台虚拟机,所以我们这里就模仿企业的方式进行多台虚拟机的操作方法: 我们现在就来学习一下如何用一台已有的虚拟机克隆出多台虚拟机。 我们第一步先来进行虚拟机的克隆: 我们现在就有了3太虚拟机了。 启动第一…

excel超链接应用:快速生成目录的几个方法-下

在上篇文章中,我们说到了基本的制作目录的方法,以及用宏表函数和超链接函数制作目录、用快捷键CTRLF制作目录的方法。今天我们要分享的另外三种方法,保证小伙伴们闻所未闻见所未见,一个公式都不用,就能完成目录的制作&…