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

spring boot导入多个配置文件

1、简介

        Spring Boot从2.4.x版本开始支持了导入文件的方式来加载配置参数,与spring.config.additional-location不同的是不用提前设置而且支持导入的文件类型相对来说要丰富很多。

        我们只需要在application.properties/application.yml配置文件中通过spring.config.import属性配置需要导入的文件列表即可。

        通过spring.config.import属性支持导入多种途径的配置文件,下面简单介绍几种。

2、导入方式

classpath

        使用classpath:前缀来指定位于类路径(classpath)中的配置文件。这通常用于引用项目内部的资源,如src/main/resources目录下的文件。

spring:config:import: classpath:custom-config.yml

file

        使用file:前缀来指定文件系统中的配置文件。这允许你引用位于项目外部的配置文件。

spring:config:import: file:/path/to/external-config.yml

optional

        使用optional:前缀可以指定一个配置文件,如果该文件不存在,不会抛出错误,应用程序会继续启动。这在引用可选配置时非常有用。

spring:config:import: optional:classpath:optional-config.yml

nacos

        如果你使用Nacos作为配置中心,可以使用nacos:前缀来导入Nacos中的配置文件。

spring:cloud:nacos:config:import: nacos:data-id:group-id

通配符导入

        你可以使用通配符(如*)来导入一个目录下的所有配置文件。这在有多个配置文件需要被一起加载时非常有用。

spring:config:import: classpath:config-templates/*.yml

无扩展名文件

        如果你需要导入没有扩展名的文件,可以在文件名后添加方括号,例如classpath:additional-application[.yml]

spring:config:import: classpath:additional-application[.yml]

目录导入

        你可以导入整个目录下的配置文件,Spring Boot会自动加载目录下的所有.properties.yml文件。

spring:config:import: classpath:config-import-dir/

特定环境配置文件

        虽然不是spring.config.import的直接选项,但你可以创建特定于环境的配置文件(如application-dev.yml),并通过激活相应的profile来加载它们。

java -jar myapp.jar --spring.profiles.active=dev

命令行参数

        虽然不是在application.ymlapplication.properties中设置,但你可以在启动应用程序时通过命令行参数来导入配置文件。

java -jar myapp.jar --spring.config.import=classpath:another-config.yml

        这些选项提供了灵活的方式来组织和管理你的配置文件,使得你可以根据不同的环境和需求来调整应用程序的配置。

3、示例代码

application.yml

server:port: 8080
spring:application:name: spring-config-multiple-democonfig:import:- classpath:application-test.yml- classpath:application-learn.yml- classpath:application-user-list.yml

application-learn.yml

learn:cond:enabled: false

application-test.yml

test:app:id: 123name: "张三"

application-user-list.yml

com:user:user-list:- name: "张三"id: 1- name: "李四"id: 2person-list:- name: "王五"id: 3- name: "赵六"id: 4

相关文章:

spring boot导入多个配置文件

1、简介 Spring Boot从2.4.x版本开始支持了导入文件的方式来加载配置参数,与spring.config.additional-location不同的是不用提前设置而且支持导入的文件类型相对来说要丰富很多。 我们只需要在application.properties/application.yml配置文件中通过spring.config.…...

硬件工程师笔试面试——无线通讯模块

目录 15、无线通讯模块 15.1 基础 无线通讯模块实物图 15.1.1 概念 15.1.2 常见的无线通讯模块及其特点 15.1.3 无线通讯模块参数 15.1.4 无线通讯模块工作原理 15.2 相关问题 15.2.1 如何根据项目需求选择合适的无线通讯模块? 15.2.2 无线通讯模块的安全性如何,如…...

开源PHP免费家谱应用Webtrees简介

1. 介绍 Webtrees是一个开源的在线家谱管理系统,支持 GEDCOM 格式,允许用户协作管理家谱数据。它是免费的,并且功能强大。Webtrees有大量活跃用户参与的交流社区,在全世界约有6800个服务器。这是一个服务器应用,可以多…...

kafka消息发送几种方式

同步发送 or 异步发送 消息发送根据是否需要处理发送的结果分为同步发送、异步发送。 同步发送:等待发送结果返回,这种方式是可靠的,因为异常能及时处理,但同步发送需要阻塞等待一条消息发送完才处理下一条,吞吐量差。…...

K1计划100%收购 MariaDB; TDSQL成为腾讯云核心战略产品; Oracle@AWS/Google/Azure发布

重要更新 1. 腾讯全球数字生态大会与9月5日-6日举行,发布“5T”战略,包括TDSQL、TencentOS、TCE(专有云 )、TBDS(大数据)、TI (人工智能开发平台)等 ( [2] ) ; 并正式向原子开源基金…...

Kyutai 开源对话模型 Moshi;李飞飞空间智能公司已筹集超过 2.3 亿美元丨 RTE 开发者日报

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、…...

Go语言的io输入输出流

Go语言的输入输出流不如其他语言那么直观,由于是通过实现接口方法的隐式继承所以比较抽象,今天具体介绍一下go语言的输入输出流。 go语言输入输出在io库中,使用Reader接口,如下: type Reader interface {Read(p []by…...

表单里面input的type属性值有哪些?

在HTML的表单&#xff08;<form>&#xff09;中&#xff0c;<input>元素是一个常用的元素&#xff0c;用于收集用户输入。每个<input>元素都包含一个type属性&#xff0c;用于定义输入字段的类型。以下是<input>元素中常见的type属性值&#xff1a; 1…...

【Redis】之Geo

概述 Geo就是Geolocation的简写形式&#xff0c;代表地理坐标。在Redis中&#xff0c;构造了能够存储地址坐标信息的一种数据结构&#xff0c;帮助我们根据经纬度来检索数据。 命令行操作方法 GEOADD 可以用来添加一个或者多个地理坐标。 GEODIST 返回一个key中两个成员之…...

常用的k8s容器网络模式有哪些?

常用的k8s容器网络模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI&#xff08;ContainerNetworkInterface&#xff09;模式。K8s的容器网络模式多种多样&#xff0c;每种模式都有其特点和适用场景。Bridge模式适用于简单的容器通信场景&#xff1b;Host模式适用…...

4位整数的数位和

输入一个4位数的整数&#xff0c;求其各数位上的数字之和。 输入格式: 输入在一行中给出1个4位的正整数n。 输出格式: 在一行中输出n的各数位上的数字之和。 输入样例: 1234输出样例: 10 代码如下&#xff1a; #include<stdio.h> int main() {int n;int a,b,c,d;scanf(&…...

XHTML学习

XHTML学习 1.XHTML 简介2.XHTML - 元素标准3.XHTML - 属性标准 1.XHTML 简介 XHTML是一个严格遵循 XML语法规则的 HTML 标准。它是 HTML4 的一种重构版本&#xff0c;结合了 HTML 的灵活性和 XML 的严格性&#xff0c;如今XHTML已经得到了所有主流浏览器的支持 与 HTML 相比最…...

KTH7823——16 位高精度低延时霍尔磁编码器可编程 ABZ 和 PWM 输出模式角度传感器

KTH7823 是一款高精度绝对角度霍尔传感器芯片&#xff0c;最高 16 位分辨率绝对角度输出&#xff0c;可 实现在轴向和离轴场合下的无接触式磁场角度测量。不论转速范围在 0-120000rpm 之间&#xff0c; KTH7823 都能快速准确地输出角度信息&#xff0c;适用于需要精准角…...

JDBC笔记

文章目录 准备MySQL数据的建立和建表 idea 建工程和模块设置属性配置文件编写JDBC代码URL的设置JDBC 代码配置文件 准备MySQL 数据的建立和建表 idea 建工程和模块 设置属性配置文件 编写JDBC代码 URL的设置 JDBC 代码 package com.yanyu;import java.sql.*; import java.util…...

小众语言ruby在苹果中的初步应用

前言 感觉Ruby在苹果系统中充当一种脚本语言来使用。 1、直接输入ruby没有反应 2、可显示结果的命令 ruby -e "puts Goodbye, cruel world!" 效果如下图&#xff1a; 说明苹果系统中ruby已经安装完毕&#xff0c;或者就是自带的。 3、编辑运行第一个ruby程序 输入…...

Nature: 一种基于宏基因组序列空间生成无参考的蛋白质家族的计算方法

通过全局宏基因组学揭示功能性暗物质 Unraveling the functional dark matter through global metagenomics Article, 2023-10-11 Nature [IF: 64.8] DOI: https://doi.org/10.1038/s41586-023-06583-7 原文链接&#xff1a;https://www.nature.com/articles/s41586-023-06…...

play-with-docker使用指南

Play-with-Docker(PWD)是一个在线平台,提供免费的 Docker 实验环境。它允许用户在浏览器中创建和管理 Docker 容器,适合学习和实验。国内访问需要借助于魔法工具,否则可能无法访问哦。 网站地址:https://labs.play-with-docker.com/ 一、登录play-with-docker 点击页面上…...

常见中间件漏洞靶场(tomcat)

1.CVE-2017-12615 开启环境 查看端口 查看IP 在哥斯拉里生成一个木马 访问页面修改文件后缀和文件内容 放包拿去连接 2.后台弱⼝令部署war包 打开环境 将前边的1.jsp压缩成1.zip然后改名为1.war 访问页面进行上传 在拿去连接 3.CVE-2020-1938 打开环境 访问一下 来到kali …...

一文读懂SpringCLoud

一、前言 只有光头才能变强 认识我的朋友可能都知道我这阵子去实习啦&#xff0c;去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)… 所以&#xff0c;这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了&#xff0c;主要当做我学习SpringCloud的笔记吧&…...

tcpdump使用方法

一、centos上可以采用下面的命令进行安装。 yum install tcpdump 二、实例&#xff1a; 1、监视指定网络接口的数据包 即监听指定网卡的数据包&#xff0c;若不指定网卡&#xff0c;默认tcpdump只会监视第一个网络接口。如监听 eth0网卡&#xff0c;如下&#xff1a; tcpd…...

华大HC32F460串口DMA接收与超时中断的实战配置

1. 华大HC32F460串口DMA接收与超时中断的核心价值 在嵌入式开发中&#xff0c;串口通信是最基础也最常用的功能之一。传统串口接收方案通常有两种&#xff1a;一种是每个字节都触发中断&#xff0c;另一种是DMA接收配合定时器断帧。第一种方案会频繁打断主程序执行&#xff0c;…...

用OpenCV 4.8.0和C++从零搭建增量式三维重建系统:手把手教你处理多张图片生成稀疏点云

从零构建三维视觉系统&#xff1a;OpenCV与C实战指南 三维重建技术正在改变我们与数字世界的交互方式。想象一下&#xff0c;仅用手机拍摄的几张照片就能重建出物体的三维模型——这正是计算机视觉领域最激动人心的应用之一。本文将带你深入OpenCV 4.8.0的底层实现&#xff0c;…...

Janus-Pro-7B播客制作:音频波形图识别+内容摘要与章节标记生成

Janus-Pro-7B播客制作&#xff1a;音频波形图识别内容摘要与章节标记生成 1. 引言&#xff1a;播客制作的新思路 播客制作通常需要大量的人工工作&#xff1a;听完整期节目、标记关键章节、撰写内容摘要、制作时间轴标记。这个过程耗时耗力&#xff0c;特别是对于长篇播客内容…...

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程

【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建&#xff0c;Fabric 模组详细搭建教程一、 服务器介绍二、安装 JDK 21三、搭建 Minecraft 服务端四、本地测试连接五、如何添加模组&#xff08;mods&#xff09;六、添加服务&#xff0c;并设置开…...

LN2266 超小型 低电压启动 PWM 控制 升压 DC/DC 电压调整器

■ 产品概述 LN2266 是一款微型、高效率、升压 DC/DC 调整器。电路由电流模 PWM 控制环路&#xff0c;误差放大器&#xff0c;斜波产生电路&#xff0c;比较器和一个功率开关等模块组成。该芯片可在较宽负载范围内高效稳定的工作。低于 1V 的启动电压&#xff0c;可以使用 1-4节…...

嵌入式通信协议:UART、SPI、I2C原理与应用

1. 嵌入式通信协议基础概述在嵌入式系统开发中&#xff0c;各种通信协议就像设备之间的"语言"&#xff0c;决定了数据如何在不同模块间传递。作为一名嵌入式工程师&#xff0c;我经常需要在项目中根据具体需求选择合适的通信方式。UART、SPI、I2C这三种串行通信协议可…...

告别setData地狱!用miniprogram-computed给你的微信小程序组件加上计算属性

告别setData地狱&#xff01;用miniprogram-computed给你的微信小程序组件加上计算属性 每次在小程序里处理复杂数据联动时&#xff0c;你是不是也经历过这样的痛苦&#xff1f;表单验证状态需要根据三个输入框内容实时更新&#xff0c;购物车总价要随着商品数量和优惠券动态计…...

2.5MW ANPC拓扑储能变流器PCS整流器仿真搭建之旅

储能变流器pcs整流器仿真模型&#xff0c;联系默认发百度&#xff0c;ANPC电路拓扑&#xff0c;2.5MW&#xff0c;电压外环&#xff0c;电流内环&#xff0c;2016版本的matlab在电力电子领域&#xff0c;储能变流器PCS&#xff08;Power Conversion System&#xff09;的整流器…...

c++编程:说反话(1009-PAT乙级)

1009&#xff1a;说反话cin >> 读取字符串时不能读取空格string s; cin >> s; // 输入 "hello world" cout << s; // 输出 "hello"&#xff08;空格后面的被丢弃&#xff09;如何读取带空格的整行&#xff1f;getline()str…...

OpenClaw+Phi-3-mini-128k-instruct:中文长文本处理专项优化

OpenClawPhi-3-mini-128k-instruct&#xff1a;中文长文本处理专项优化 1. 为什么需要中文长文本专项优化&#xff1f; 在日常工作中&#xff0c;我经常需要处理各种中文长文本材料——从几十页的商业合同到上百页的学术论文。这些文档不仅篇幅长&#xff0c;还包含大量专业术…...