springboot启动读取外部配置文件

spring boot启动时加载外部配置文件的方法 主要给大家介绍了关于spring boot启动时加载外部配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 立即下载

有时候,线上的服务器配置,只有运维人员知道,开发人员是不知道的。所以在 springboot项目中,如何解决运行时加载外部运维定义的(没有被打包进jar文件)配置信息呢?

正文

springboot 有读取配置文件的方法,如下优先级:

  • 第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下,即./config/目录下。./表示jar包所在目录。
  • 第二种是直接把配置文件放到jar包的同级目录,即./目录下。
  • 第三种在classpath下建一个config文件夹,然后把配置文件放进去。即classpath:/config/目录下。
  • 第四种是在classpath下直接放配置文件。即classpath:/目录下。

知道这个就好办了。

如下图,在jar包文件下,新建config文件夹,同时将线上的配置信息放进去。

在这里插入图片描述
config文件夹下内容:
在这里插入图片描述

最后,在jar包下打开命令窗口,执行如下命令就可以运行程序,并且 引用外部配置文件application.yml和application-prod.yml里面的内容了。
在这里插入图片描述

特别关注

值得注意的是,我的将代码打包时,也会有一份配置信息。
在这里插入图片描述
由于上面提到了,springboot 有读取配置文件有优先级次序。所以,最后还是为读取到打包进clathpath底下的配置文件application.yml。那么问题又来了,如果外部配置文件,和clathpash的 配置文件,配置信息又相同的部分或是不同的部分,分别时怎么处理的呢?

遵循以下原则:

  • 如果内配置文件里有外配置文件没有的配置,那两者互补。比如外配置文件没有配置数据库,内配置文件里配置了数据库,那内配置文件的配置会被使用。
  • 如果内配置文件里和外配置文件里都有相同的配置,比如两者都配置了数据库,但是两个连接的不同,那外配置文件会覆盖内配置文件里的配置。

总结起来就是一句话,内外都有相同的配置信息时听外的,内外有不同的配置信息时都生效。

【阿里云大模型高级工程师ACP习题集】2.4 自动化评测答疑机器人的表现(⭐️⭐️⭐️ 重点章节!!!) 【摘要】这是我精心整理出对应的习题集,里面足足有 30 道题目,从基础概念到深度拓展,全方位覆盖章节重点、难点。不管你是想检验自己的学习成果,还是想针对薄弱环节进行强化训练,它都能完美适配! 阅读详情

相关推荐

从Protocol到硬件控制:揭秘高通UEFI中ABL与XBL的协作机制

本文深入解析了高通UEFI架构中ABL与XBL的协作机制,重点探讨了Protocol通信在硬件控制中的关键作用。通过对比传统GPIO控制方式,揭示了Protocol架构在安全性、可维护性和灵活性方面的优势,并提供了关机充电场景的实战案例分析及调试技巧。

weixin_29185199的博客 431

springboot加载外部配置文件(properties、yml)

springboot加载外部yml或properties配置文件

u012785397的博客 1万+

HC-05蓝牙模块详细配置、连接与使用过程

用手按着模块上的按键,再给蓝牙模块上电。当蓝牙模块上的灯慢闪的时候就说明进入了配置模式了。在配置蓝牙的时候一定要将串口助手按这个要求配置:设置波特率 38400,数据位 8 位,停止位 1 位,无校验位,这是固定操作! 根据蓝牙的主从模式进行不同的设置,二者主要区别就在于AT+ROLE这个指令如果这里没返回OK可能有一下几种情况:如果正常返回OK,那就可以进行下一步了 配置蓝牙密码的时候,特别是配置HC05,密码必须加双引号"",否则不能正常设置!!!! 给从机模式蓝牙配置好之后,将蓝牙重

qq_51688022的博客 2万+

SpringBoot项目加载配置文件的6种方式

@value @ConfigurationProperties Environment类 @PropertySource PropertySourcesPlaceholderConfigurer类 YamlPropertiesFactoryBean类

m0_50008952的博客 7750

PINN驱动的3D不可压缩流场重建——从稀疏2D2C观测到完整物理场反演——含源码实现

多尺度融合策略在此发挥作用:高分辨率的2D2C数据用于约束平面内的精细结构,而低分辨率的3D3C数据提供第三维度的粗尺度信息。迁移学习架构在此发挥关键作用。这种策略在湍流封闭模型构建中尤为有效,其中RANS提供的平均流场与DNS的雷诺应力数据融合,显著提升了分离流的预测精度。在稀疏数据场景下,注意力权重根据观测数据的分布动态调整,强化数据缺失区域的物理约束,同时避免过拟合于观测点。这种机制与自适应采样的结合,实现了计算效率与重建精度的平衡,在仅保留约百分之十关键节点的情况下,仍能保持高物理一致性。

u012133341的博客 136

前端技能树,面试复习第 54 天—— 手写代码:情景题

前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...

前端进阶之路 | 中大厂、外企、国企内推 | 面试培训 | 简历修改 986

一文搞懂 spring boot 加载外部配置文件

默认情况下如果将spring boot项目,打包成一个fat jar,基本不存在读取外在配置文件的问题,因为 src/main/resources/的yaml或者properties文件,都会打进 jar 内。也就是说,如果要读取任何外部文件,不需要额外加任何参数,只需要在jar同级目录下,新建一个config目录,然后把配置文件放进去即可,这样spring boot读取到后,会自动将其中的内容添加到 Spring 的 Environment 中。3,CLASSPATH 中的 /config 目录;

三劫散仙 7524

【Arduino 动手做】六舵机自平衡 Rotary Stewart 平台

《Arduino六舵机自平衡Rotary Stewart平台项目》 该项目展示了一个基于Arduino的六自由度Rotary Stewart平台,通过六个舵机实现动态平衡控制。设计采用激光切割框架和TAMIYA 70171套件,提供详细组装指南和开源固件(GitHub可获取)。开发者丹·罗耶分享了3D打印文件、视频演示及运动学优化需求,强调该平台可扩展应用于游戏控制(如Kerbal Space Program)或教育领域。项目链接包含完整资源包,鼓励用户参与改进并分享创作成果。该案例体现了Arduino在机

雕爷学编程 1092

Spring Boot 加载外部配置文件

Spring Boot 允许你从外部加载配置,这样的话,就可以在不同的环境中使用相同的代码。支持的外部配置源包括:Java属性文件、YAML文件、环境变量、命令行参数。用@Value注解可以将属性值直接注入到beans中。命令行参数以 -- 开头配置文件加载的顺序如下:Application properties packaged inside your jar (application.pro...

qq_30665009的博客 2465

ASPICE学习笔记

ASPICE的全称是Automotive SPICE。

汽车电子软件领域知识分享 1355

AI量化学习入门指南:从零开始掌握人工智能投资策略

量化投资:利用数学模型和计算机算法进行投资决策的方法算法交易:自动执行预定义交易规则的系统机器学习:让计算机从数据中学习并改进的技术回测:用历史数据检验交易策略表现的过程特征工程:将原始数据转化为模型可理解的输入过拟合:模型过度适应历史数据,导致未来表现不佳夏普比率:衡量单位风险所获得的超额收益AI量化投资不仅仅是技术的应用,更是一种理性、系统化的投资哲学。它不追求预测市场的每一个拐点,而是通过概率思维和风险管理,在不确定性的市场中寻找统计优势。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1132

Springboot基于tomcat启动读取外部配置文件

项目结构 pom.xml <!-- 打包为war包,部署在tomcat容器启动 --> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId&gt...

?_#的博客 3647

使用亚组分析进行子组分析并可视化森林图 - R语言

通过亚组分析和森林图的结合,我们可以更好地理解不同子组之间的差异和效果大小。当然,在实际应用中,还需要考虑多种因素,如样本量、异质性等,以得到更准确的结果和结论。每个森林图中的水平线代表了每个子组的效应估计,线的长度表示了该效应估计的置信区间。假设我们有一个包含研究对象的数据框(data frame),其中包括了治疗组和对照组的结果数据,以及一些可能的影响因素作为调整变量。在本例中,我们将比较两种不同的治疗方法(A和B)对结果变量的影响,并调整了一个额外的变量。是结果变量和对照组变量的列名。

2301_79326857的博客 1236

springboot 启动读取外部配置文件

-spring.config.location=file: 配置文件存放位置。--logging.config= 日志文件存放位置。-Dserver.port 启动端口。

245

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

springboot读取linux文件_springboot启动读取外部配置文件

springboot启动读取外部配置文件有时候项目打包成一个jar 或者war ,通过java -jar 命令运行springboot 项目,因为springboot 项目有自己的application.properties 配置文件,但是我们打完包之后,它也会打到包里边,倒是也能打开压缩包修改properties 文件,但是也是较为麻烦。现在有如下需求,比如客户需要在很多个服务器部署一套项目,但...

weixin_36427956的博客 2347

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

springboot启动时使用哪个配置文件_springboot启动读取外部配置文件

springboot启动读取外部配置文件有时候项目打包成一个jar 或者war ,通过java -jar 命令运行springboot 项目,因为springboot 项目有自己的application.properties 配置文件,但是我们打完包之后,它也会打到包里边,倒是也能打开压缩包修改properties 文件,但是也是较为麻烦。现在有如下需求,比如客户需要在很多个服务器部署一套项目,但...

weixin_39553272的博客 606

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SpringBoot项目启动读取外部配置文件

文章目录SpringBoot配置文件配置文件目录文件目录扫描策略(涉及到覆盖优先级问题)参考 SpringBoot如何加载jar包外面的配置文件? SpringBoot配置文件 SpringBoot使用一个以application命名的配置文件作为默认的全局配置文件。支持properties后缀结尾的配置文件或者以yml/yaml后缀结尾的YAML的文件配置。 以设置应用端口为例 properties文件示例(application.properties): server.port=80 YAML文件示例(

拾年一剑 的专栏 5156

21spring-boot读取外部配置文件的启动脚本

springboot项目通常使用fastjar打包,打包成一个独立的jar包,如何需要修改jar中的application.properties配置项则必须重新打包,这样很麻烦 springboot支持在启动时通过--参数=值 的方式设置参数值,并且优先级高于jar内的application.properties,例如在启动是设置server.port java -jar spring-boo...

litong131219的博客 1266

【Springboot的war包启动时如何读取外部配置文件】

Springboot的war包启动时如何读取外部配置文件

weixin_42589681的博客 2906

spring boot启动读取外部配置文件MAC,电脑问题!!!

spring boot启动读取外部配置文件MAC电脑问题

DengX1119的博客 438

springboot启动读取外部配置文件(2019-02-03补充)

springboot启动读取外部配置文件   有时候项目打包成一个jar 或者war ,通过java -jar 命令运行springboot 项目,因为springboot 项目有自己的application.properties 配置文件,但是我们打完包之后,它也会打到包里边,倒是也能打开压缩包修改properties 文件,但是也是较为麻烦。   现在有如下需求,比如客户需要在很多个服务器...

凌大大的博客 4万+

Springboot jar包启动读取外部的application配置文件(二)

上一篇:IDEA搭建一个springboot项目 一.简介 在我们项目开发的过程中或出现需要在服务器上测试功能的场景,所以通过读取外部的application配置文件重启服务即可,可以提过我们效率不需要再重新在代码中修改配置文件重新打包上传服务器。 二.读取外部application配置文件的优先级 顺序高=》低,高优先级会覆盖低优级 将application配置文件放到jar包同级目录下的 /config 目录(此时执行命令需要在jar包目录下) 将application配置文件放到jar包的同级

A_awen的博客 2303
上一篇: redis的INFO命令使用详解
下一篇: linux基础指令之top指令详解
She_lock
博客等级 码龄12年 157粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值