【Spring Boot 3】【YAML】读取YAML文件

【Spring Boot 3】【YAML】读取YAML文件

  • 背景
  • 介绍
  • 开发环境
  • 开发步骤及源码
  • 工程目录结构
  • 总结

背景

软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时间精力。因此本文旨在通过一篇文章即能还原出可工作的、甚至可用于生产的DEMO,期望初学者能尽快地迈过0到1的这一步骤,并在此基础上不断深化对相关知识的理解。
为达以上目的,本文会将开发环境、工程目录结构、开发步骤及源码尽量全面地展现出来,文字描述能简则简,能用代码注释的绝不在正文中再啰嗦一遍,正文仅对必要且关键的信息做重点描述。

介绍

本文介绍开发Spring Boot应用如何读取 resources 目录下 YAML 格式文件的内容,注意并不是介绍使用 @Value@ConfigurationPropertiesorg.springframework.core.env.Environment 读取 application.ymlbootstrap.yml 配置文件,而是读取额外的 YAML 格式文件,这些文件中的数据也并不一定用于应用配置。

本文介绍两种读取 YAML 格式文件的方法:

  • 使用 Jackson
  • 使用 SnakeYaml

开发环境

分类名称版本
操作系统WindowsWindows 11
JDKOracle JDK21.0.1
IDEIntelliJ IDEA2023.3.4
构建工具Apache Maven3.9.6

开发步骤及源码

1> 创建Maven工程,添加依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jiyongliang</groupId><artifactId>springboot3-resources</artifactId><version>0.0.1</version></parent><artifactId>springboot3-resources-file-yaml</artifactId><properties><java.version>21</java.version><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-boot.version>3.2.3</spring-boot.version><lombok.version>1.18.30</lombok.version></properties><dependencyManagement><dependencies><dependency><groupId&g

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

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

相关文章

LeetCode 2657.找到两个数组的前缀公共数组

给你两个下标从 0 开始长度为 n 的整数排列 A 和 B 。 A 和 B 的 前缀公共数组 定义为数组 C &#xff0c;其中 C[i] 是数组 A 和 B 到下标为 i 之前公共元素的数目。 请你返回 A 和 B 的 前缀公共数组 。 如果一个长度为 n 的数组包含 1 到 n 的元素恰好一次&#xff0c;我…

FPGA与以太网相关接口知识

一&#xff1a;一般硬件架构&#xff1b;(对于1000m网一般都使用普通io口&#xff0c;普通管脚能跑800M(正点技术说的))) 1&#xff1a;FPGA普通管脚——phy芯片&#xff08;pcspma&#xff09;——rg45 2&#xff1a;FPGA(GT)光口(利用fpga的GT&#xff0c;直接节约了phy芯片…

先进电机技术 —— 长线缆驱动电机面临哪些问题?

一、长线驱动问题简述 电机变频驱动器&#xff08;VFD&#xff09;输出侧采用长线缆驱动电机运行时&#xff0c;将会面对多种问题&#xff0c;主要包括但不限于&#xff1a; 此图片来源于网络 1. **电压降**&#xff1a; - 长线缆的电阻会导致电压降增大&#xff0c;当电…

53 initrd/initramfs 相关

前言 呵呵 这里主要是 探究一下 根文件系统 相关的东西 以及 附加了一些 系统启动的相关信息 计算机启动 硬件重置寄存器 设置初始化数据 计算机访问 0xffff0, 执行 bios 的代码, bios 选择启动设备, 然后执行 启动设备 boolloader 的代码 bootloader 将 boot.img 加载…

你可敢信这是 AI 写的歌?suno 真的惊到我了!

你可敢信这是 AI 写的歌&#xff1f;suno 真的惊到我了&#xff01; AI 音乐平台 suno 横空出世&#xff0c;效果惊人&#xff0c;我赶紧试了一下&#xff0c;amazing&#xff01;&#xff01;&#xff01; suno创作 - 背叛 这是我随意创作的&#xff0c;这几天对诅咒前男友那首…

MySQL常用函数整理,建议收藏!

常见函数 字符串函数数字函数日期函数聚合函数流程控制函数 一、字符串函数 concat(s1,s2...,sn) --将s1,s2...,sn连接成字符串&#xff0c;如果该函数中的任何参数为 null&#xff0c;返回结果为 null concat_ws(sep,s1,s2...,sn) --将s1,s2...,sn连接成字符串,并用sep字符…

数据分析-Pandas分类数据的类别排序和顺序

数据分析-Pandas类别的排序和顺序 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&…

【暴刷力扣】15. 三数之和

15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三…

xilinx的高速接口构成原理和连接结构

本文来源&#xff1a; V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述&#xff1a;二、高速收发器结构&#xff1a;2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…

【阅读论文】When Large Language Models Meet Vector Databases: A Survey

摘要 本调查探讨了大型语言模型&#xff08;LLM&#xff09;和向量数据库&#xff08;VecDB&#xff09;之间的协同潜力&#xff0c;这是一个新兴但迅速发展的研究领域。随着LLM的广泛应用&#xff0c;出现了许多挑战&#xff0c;包括产生虚构内容、知识过时、商业应用成本高昂…

【Godot4.2】基础知识 - Godot中的2D向量

概述 在Godot中&#xff0c;乃至一切游戏编程中&#xff0c;你应该都躲不开向量。这是每一个初学者都应该知道和掌握的内容&#xff0c;否则你将很难理解和实现某些其实原理非常简单的东西。 估计很多刚入坑Godot的小伙伴和我一样&#xff0c;不一定是计算机专业或编程相关专…

利用sealos安装k8s集群

1. 环境准备 准备三台干净&#xff08;未安装过k8s环境&#xff09;的虚拟机 # 所有的主机都要配置主机名和域名映射 # 设置主机名 hostnamectl set-hostname k8s-master01 # vim /etc/hosts 192.168.59.201 k8s-master01 192.168.59.202 k8s-worker01 192.168.59.203 k8…

基于ssm停车场管理系统(程序+文档+数据库)

** &#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;** 一、项目概述…

腾讯云GPU云服务器_并行计算_弹性计算_AI_深度学习

腾讯云GPU服务器是提供GPU算力的弹性计算服务&#xff0c;腾讯云GPU服务器具有超强的并行计算能力&#xff0c;可用于深度学习训练、科学计算、图形图像处理、视频编解码等场景&#xff0c;腾讯云百科txybk.com整理腾讯云GPU服务器租用价格表、GPU实例优势、GPU解决方案、GPU软…

java数据结构与算法基础-----字符串------正则表达式的练习案例---持续补充中

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 正则表达式基础&#xff1a;https://blog.csdn.net/grd_java/article/det…

【学不动系列】lint-staged 使用教程

lint-staged 使用教程 lint-staged 是一个在git暂存文件上运行linters的工具&#xff0c;当然如果你觉得每次修改一个文件就给所有文件执行一次lint检查不恶心的话&#xff0c;这个工具对你来说就没有什么意义了&#xff0c;请直接关闭即可。 npx mrm lint-staged它将根据pac…

xercesc库中文保存XML功能实现

目录 一 参考链接 二 运行结果 三 代码 一 参考链接 DOM Programming Guide (apache.org) Xerces-c DOM XML文件的构造_xerces-c domimplementation-CSDN博客 Xerces-c库的使用-CSDN博客 二 运行结果 三 代码 #if 1//参考链接&#xff1a; https://blog.csdn.net/RGBMa…

容器podman

容器 Linux中的容器是什么 装载应用的存在容器就是将软件打包成标准化单元, 用于开发,交付和部署容器技术已经称为应用程序封装和交付的核心技术 容器的优缺点 优点 相比床同的虚拟化技术, 容器更加简洁高效传统虚拟机需要给每个VN安装操作系统容器是的共享公共库和程序 缺点…

网页有效防止XSS,SQL注入,木马文件拦截上传等安全问题

网络安全问题一直是备受关注的话题&#xff0c;其中跨站脚本攻击&#xff08;XSS&#xff09;、SQL注入和木马文件上传是常见的安全威胁。下面我将详细介绍这些安全问题。 首先是跨站脚本攻击&#xff08;XSS&#xff09;。XSS攻击是一种利用网站漏洞&#xff0c;将恶意脚本注…

2020年黑龙江省水稻种植分布数据

黑龙江省&#xff0c;位于中国最东北部&#xff0c;是我国位置最北、最东&#xff0c;纬度最高&#xff0c;经度最东的省份&#xff0c;气候为温带大陆性季风气候。黑龙江省土地总面积为47.3万平方公里&#xff08;含加格达奇和松岭区&#xff09;&#xff0c;占全国土地总面积…