SpringBoot2.7.9 配置文件加载方式

ConfigDataLocationResolver接口方法说明
isResolvable: 判断是否是需要转换的资源
resolve: 将单个ConfigDataLocation转换为ConfigDataResource集合,在激活环境配置之前加载,也就是profile文件加载之前加载
resolveProfileSpecific: 将单个ConfigDataLocation转换为ConfigDataResource集合,在加载环境配置时(Profiles)进行加载
// 调用resolve将单个ConfigDataLocation转换为ConfigDataResource集合,并且加载文件内容
org.springframework.boot.context.config.ConfigDataImporter#resolveAndLoad

ConfigDataLoader接口方法说明
isLoadable: 是否获取符合条件的ConfigDataLoader
load: 加载配置

ConfigDataResource抽象类:用来描述配置数据资源 optional: 表示是否有指定前缀标记

spring.main.cloud-platform: 配置cloud平台名称
spring.config.name: 配置要加载配置文件的名称,默认值是["application"] org.springframework.boot.context.config.StandardConfigDataLocationResolver#CONFIG_NAME_PROPERTY
spring.config.import、spring.config.additional-location、spring.config.location: 指定要加载的配置文件,优先级如下:
spring.config.import 
spring.config.additional-location
spring.config.location
可以配置多个,默认使用英文分号 ; 分割,也可以自定义解析器(ConfigDataLocationResolver)进行拆分,加载顺序按照拆分后的顺序进行加载,比如:
spring.config.import=import.yaml;import2.yaml;import3.yaml

当配置了spring.config.location时,spring.config.name不生效
当配置了spring.config.location时,默认的org.springframework.boot.context.config.ConfigDataEnvironment#DEFAULT_SEARCH_LOCATIONS不会再加载
org.springframework.boot.context.config.ConfigDataEnvironment#DEFAULT_SEARCH_LOCATIONS包含:
optional:classpath:/;optional:classpath:/config/ 和 optional:file:./;optional:file:./config/;optional:file:./config/*/

spring.config.on-not-found: 配置文件不存在时的策略,参考 org.springframework.boot.context.config.ConfigDataNotFoundAction 枚举类,可以通过SpringApplication.setDefaultProperties 进行设置

spring.profiles.include: 配置要加载的环境, 多个使用逗号分割  比如  a,b 是a和b两个环境
spring.profiles.group: 配置的环境组  spring.profiles.group.x=d,f spring.profiles.group.y=e,g
spring.profiles.active: 激活的环境  多个使用逗号分割  比如  a,b 是a和b两个环境
spring.profiles.default: 默认加载的环境 多个使用逗号分割  比如  a,b 是a和b两个环境
spring.profiles.include和spring.profiles.active都会放在spring.profiles.active集合中
spring.profiles.active和spring.profiles.default同时配置时,默认使用spring.profiles.active,未配置spring.profiles.active时使用spring.profiles.default

profile: 控制拼接指定环境的配置文件,如 dev 生成的配置文件名称为  application-dev.yaml

在springboot中配置文件的加载顺序如下:
yaml yml xml properties
spring.config.name=application(默认配置)
内部默认的配置文件加载顺序
file:/application.yaml
file:/application.yml
file:/application.xml
file:/application.properties
file:./config/application.yaml
file:./config/application.yml
file:./config/application.xml
file:./config/application.properties
file:./config/*/application.yaml
file:./config/*/application.yml
file:./config/*/application.xml
file:./config/*/application.properties
classpath:/application.yaml
classpath:/application.yml
classpath:/application.xml
classpath:/application.properties
classpath:./config/application.yaml
classpath:./config/application.yml
classpath:./config/application.xml
classpath:./config/application.properties
// 默认是 profile是default
file:/application-default.yaml
file:/application-default.yml
file:/application-default.xml
file:/application-default.properties
file:./config/application-default.yaml
file:./config/application-default.yml
file:./config/application-default.xml
file:./config/application-default.properties
file:./config/*/application-default.yaml
file:./config/*/application-default.yml
file:./config/*/application-default.xml
file:./config/*/application-default.properties

 

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

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

相关文章

linux c printf函数颜色,shell插入时间

shell插入指定行内容(时间) 要将当前时间插入到指定文件的指定位置,你可以使用sed命令结合Shell中的变量来实现。 以下是一个示例命令: sed -i 指定行号s/.*/& "$(date)"/ 文件名这个命令会将当前时间&#xff0…

Selenium Webdriver自动化测试框架

最近正在编写selenium webdriver自动化框架,经过几天的努力,目前基本已经实现了一套即能满足数据驱动、又能满足Web关键字驱动的自动化框架(主要基于 antjenkinstestngselenium webdriverjxl实现)。通过这次的自动化框架开发&…

ChatGPT 在机器学习中的应用

办公室里一个机器人坐在人类旁边,Artstation 上的流行趋势,美丽的色彩,4k,充满活力,蓝色和黄色, DreamStudio出品 一、介绍 大家都知道ChatGPT。它在解释机器学习和深度学习概念方面也非常高效,…

C# 对象和类型

C# 对象和类型 类和结构的区别类成员数据成员函数成员 按值和引用传送参数构造函数和静态构造函数方法重载只读字段部分类静态类Object类 类和结构的区别 类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。 类定义了…

外壳防护等级的最低要求

声明 本文是学习GB-T 3027-2012 船用白炽照明灯具. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了船用白炽照明灯具(以下简称灯具)的要求、试验方法、检验规则、标识、包装和储 存等。 本标准适用于电源电压在250V 以下的交流…

Linux 下 Mysql 的安装与卸载

文章目录 Mysql 安装安装服务安装客户端设置远程连接进入 mysql使用 mysql库查看用户表更新用户表强制刷新权限重启mysql服务其他 设置mysql的字符编码找到[mysqld_safe],在底下添加红色标记的字符添加server编码在底下添加红色标记的字符找到[mysql] 在底下添加红色…

巨人互动|Facebook海外户Facebook的特点优势

Facebook作为全球最大的社交媒体平台之一,同时也是最受欢迎的社交网站之一,Facebook具有许多独特的特点和优势。本文小编将说一些关于Facebook的特点及优势。 1、全球化 Facebook拥有数十亿的全球用户,覆盖了几乎所有国家和地区。这使得人们…

layui 树状控件tree优化

先上效果图: 我选的组件是这个: 动态渲染完后,分别在窗体加载完成,节点点击事件分别加入js: //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

Ffmpeg-(1)-安装:ubuntu系统安装Ffmpeg应用

1、下载源码压缩包 https://ffmpeg.org/download.html 点击Download Source Code下载即可 解压: tar -xvjf ffmpeg-snapshot.tar.bz2 得到:ffmpeg目录 cd ffmpeg 或者:直接下 wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gztar -zx…

在EXCEL中构建加载项之创建加载项的目的及规范要求

【分享成果,随喜正能量】一句南无阿弥陀佛,本是释迦牟尼佛所证的无上正等正觉法,洒在娑婆世界的众生海中,只为末世众生能够以信愿之心抓住此救命稻草,要知道今世人此生的处境,可能只剩这道要么极乐要么三涂…

【华为云云耀云服务器L实例评测】- 云原生实践,快捷部署人才招聘平台容器化技术方案!

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

数据结构与算法(C语言版)P8---树、二叉树、森林

【本节目标】 树概念及结构。二叉树概念及结构。二叉树常见OJ题练习。 1、树概念及结构 1.1、树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树&#xf…

208.Flink(三):窗口的使用,处理函数的使用

目录 一、窗口 1.窗口的概念 2.窗口的分类 (1)按照驱动类型分 (2)按照窗口分配数据的规则分类 3.窗口api概览 (1)按键分区(Keyed)和非按键分区(Non-Keyed) *1)按键分区窗口(Keyed Windows) *2)非按键分区(Non-Keyed Windows) (2)代码中窗口API的调…

泽众APM性能监控软件

泽众Application Performance Management(简称APM)是一款专业的性能监控工具,可以对全链路如Web服务器、应用服务器、数据库服务器等进行实时监控,并以图表化的形式直观地呈现监控数据,为系统性能优化和定位问题提供准…

gcc编译webrtc x64

gcc使用Ubuntu系统已经有的gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) 1、下载离线版webrtc(也可以翻墙下载webrtc) 百度云链接: 链接: https://pan.baidu.com/s/1oHVz9bxXlW3Q6uO996c5XA 提取码: ojbs 2、下载gn https://github.com/timnieder…

【面试题精讲】Java超过long类型的数据如何表示

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 在 Java 中,如果需要表示超过 long 类型范围的数据,可以使用 BigInteger 类…

Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

基于SpringBoot的大学生就业招聘系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 求职信息管理 首页 招聘信息管理 岗位申请管理 岗位分类 企业管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息互联网信息的飞速发展,大学生就业成为一个难题,好多公司都舍不…

最新AI写作系统ChatGPT源码/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt应用+MJ以图生图+思维导图生成

一、智能创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&…

【IPC 通信】信号处理接口 Signal API(6)

收发信号思想是 Linux 程序设计特性之一,一个信号可以认为是一种软中断,通过用来向进程通知异步事件。 本文讲述的 信号处理内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解信号编程。 kill(2) 遵循 POSIX.1 - 2008 1.库 …