【Spring Boot】yaml文件简介_语法特点_基本应用

1、简介

  • yaml(YAML Ain't Markup Language)是一种数据序列化格式,它使用空格、换行和简单的标记来表示数据结构,易于阅读和编写。
  • yaml文件的扩展名通常为.yml.yaml
  • 它比传统的xml和json配置文件更加简洁、易读,并且在Spring Boot中得到了广泛支持。
  • 在yaml文件中,缩进非常重要,必须保持一致,并且不能使用Tab键进行缩进。
  • 字符串值通常不需要引号,但如果值中包含特殊字符或需要保留格式,则可以使用单引号或双引号。
  • 布尔值可以使用truefalse表示。
  • 数字不需要特殊格式,但长整型和浮点型不需要添加额外的后缀(如LF)。
  • yaml文件还支持注释,以#开头的行将被视为注释。

2、语法特点

  • 基本结构:yaml文件通过缩进来表示数据的层级结构,只要左边对齐就表示同一层级。
  • 键值对:使用冒号(:)分隔键和值,冒号后必须有一个空格。
  • 数组(List、Set):使用短横线(-)作为列表项的前缀,后面跟值,每个值占一行。
  • 对象(Map):使用冒号分隔键和值,可以在新的一行缩进表示对象的属性,也可以使用行内表示法(如{key: value})。
  • 数据类型:yaml支持多种数据类型,包括字符串、数字、布尔值、null、日期和时间等。

3、基本应用

3.1 yaml配置纯量(Scalars)

  • yaml中的纯量表示单个的、不可再分的值,如字符串、整数、浮点数、布尔值、null等。
  • 纯量不需要特殊的符号来包围,直接写值即可。
  • 示例:
# 字符串  
name: John Doe  
  
# 整数  
age: 30  
  
# 浮点数  
height: 1.75  
  
# 布尔值  
isActive: true  
  
# null值  
nullValue: null  
  
# 等同于JSON格式  
# {  
#   "name": "John Doe",  
#   "age": 30,  
#   "height": 1.75,  
#   "isActive": true,  
#   "nullValue": null  
# }

3.2 yaml配置数组(Array)

  • yaml中的数组表示为一组按照顺序排列的值,也称为序列(sequence)或列表(list)。
  • 数组由中括号[]包围,并使用短横线-作为列表项的前缀。
  • 示例:
# 使用中括号和短横线表示  
hobbies:  
  - reading  
  - coding  
  - traveling  
  
# 等同于JSON格式  
# {  
#   "hobbies": ["reading", "coding", "traveling"]  
# }

3.3 yaml配置对象(Object)

  • yaml中的对象表示为一个键值对的集合,也称为映射(mapping)、哈希(hashes)或字典(dictionary)。
  • 对象由一对大括号{}包围,或者通过缩进来表示。
  • 示例:
# 使用大括号表示  
person:  
  name: John Doe  
  age: 30  
  city: New York  
  
# 或者使用缩进来表示,不使用大括号  
person:  
  name: John Doe  
  age: 30  
  city: New York  
  
# 等同于JSON格式  
# {  
#   "person": {  
#     "name": "John Doe",  
#     "age": 30,  
#     "city": "New York"  
#   }  
# }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu24.04清理常见跟踪软件tracker

尽量一天一更,不刷视频,好好生活 打开系统监视器,发现开机有个tracker-miner-fs-fs3的跟踪程序,而且上传了10kb的数据。 搜索知,该程序会搜集应用和文件的信息。 删除tracker 显示带tracker的apt程序 sudo apt lis…

【Excel】 给证件照换底色

1. 双击图片 → 删除背景 2. 标记要保留的区域 → 标记 → 保留更改 3. 重新设置背景色

最新整理的机器人相关数据合集(1993-2022年不等 具体看数据类型)

机器人安装数据是指记录全球或特定区域内工业机器人新安装数量的信息,这一数据由国际机器人联合会(IFR)等权威机构定期发布。这些数据不仅揭示了机器人技术的市场需求趋势,还反映了各国和地区自动化水平及产业升级的步伐。例如,数据显示中国在…

基于Java+SpringMvc+Vue技术的图书管理系统的设计与实现(60页论文参考)

博主介绍:硕士研究生,专注于Java技术领域开发与管理,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架构思想、较扎实的技术功底和资深的项目管理经…

回顾 DTC 2024 大会——聚焦数据技术创新:揭秘下一代纯实时搜索引擎 INFINI Pizza

2024 年 4 月 12 日至 13 日,备受瞩目的第十三届“数据技术嘉年华”(DTC2024)在北京新云南皇冠假日酒店盛大开幕。本次大会由中国 DBA 联盟(ACDU)与墨天轮社区联合主办,以“智能云原生一体化——DB 与 AI 协…

28个常用的损失函数介绍以及Python代码实现总结

28个常用的损失函数介绍以及Python代码实现总结 最近在做多分类的研究,总是遇到这么多损失函数,应该挑选哪一个损失函数呢?这样的问题。于是心血来潮便想着对损失函数进行总结。 以下是一个预览总结: 损失函数名称问题类型L1范…

缓冲器的重要性,谈谈PostgreSQL

目录 一、PostgreSQL是什么二、缓冲区管理器介绍三、缓冲区管理器的应用场景四、如何定义缓冲区管理器 一、PostgreSQL是什么 PostgreSQL是一种高级的开源关系型数据库管理系统(RDBMS),它以其稳定性、可靠性和高度可扩展性而闻名。它最初由加…

网络安全设备——防火墙

网络安全设备防火墙是一种用来加强网络之间访问控制的特殊网络互联设备。以下是对防火墙的详细解释: 一、定义与基本概念 定义:防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的…

EOF 为 (End Of File) 的缩写 , 值通常为 -1

EOF是一个计算机术语,为 End Of File 的缩写 EOF 的值通常为 -1 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。 与 feof 与 feof C语言中,当把数据以二进制形式存放到文件中时,就会有…

YOLO-World实时开集检测论文阅读

论文:《YOLO-World: Real-Time Open-Vocabulary Object Detection》 代码:https://github.com/AILab-CVC/YOLO-World 1.Abstract 我们介绍了YOLO World,这是一种创新的方法,通过在大规模数据集上进行视觉语言建模和预训练&#…

hello, I am a robot.

hello, I am a robot. 嗨,我是个机器人 凌晨了,真是糟糕的一天,超时半小时,我们的计划有点问题,应该做出改进。 加班这种事情说明项目本身就存在问题,我们应该对此做出分析,而不是宣传吃苦耐劳的…

12.x86游戏实战-汇编指令and or not

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:11.x86游戏实战-汇编指令add sub inc dec and指令是与的意思 or指令是或的意思 …

C++学习/复习21--多态定义/虚函数与重写/虚函数表/单继承多继承的多态/抽象类/面试题

一、多态的定义及条件 二、虚函数与重写 2.1virtual 注意事项:只有成员函数可以是虚函数 2.2三同与重写 2.3用基类的指针或引用 注意事项:指针指向什么对象就调用其相应的函数 2.4重写条件的例外 协变与重写 析构函数的重写 为什么析构函数需重写 2.5o…

Hive 高可用分布式部署详细步骤

目录 系统版本说明 hive安装包下载及解压 上传mysql-connector-java的jar包 配置环境变量 进入conf配置文件中,将文件重命名 在hadoop集群上创建文件夹 创建本地目录 修改hive-site.xml文件 同步到其他的节点服务器 修改node02中的配置 hive-site.xml 修改…

加密与安全_常见的分组密码 ECB、CBC、CFB、OFB模式介绍

文章目录 Pre概述why分组密码和流密码的基本概念什么是模式分组密码的常见模式1. ECB 模式(电子密码本模式)2. CBC 模式(密文分组链接模式)3. CFB 模式(密文反馈模式)4. OFB 模式(输出反馈模式&…

论文略读:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 传统上,复杂的AI任务需要多个专门系统协作完成。 这类系统通常需要独立的模块来进行信息检索、问答和数据库查询等任务大模型时代,尤其是上下文语言模型(LCLM)时代,上述问题可以“一体化”完成…

Qt/C++音视频开发78-获取本地摄像头支持的分辨率/帧率/格式等信息/mjpeg/yuyv/h264

一、前言 上一篇文章讲到用ffmpeg命令方式执行打印到日志输出,可以拿到本地摄像头设备信息,顺藤摸瓜,发现可以通过执行 ffmpeg -f dshow -list_options true -i video“Webcam” 命令获取指定摄像头设备的分辨率帧率格式等信息,会…

Python 全栈系列258 线程并发与协程并发

说明 最近在大模型调用上,为了尽快的进行大量的数据处理,需要采用并发进行处理。 Before: 以前主要是自己利用CPU和GPU来搭建数据处理程序或者服务,资源受限于所用的硬件,并不那么考虑并发问题。在处理程序中,并发主要…

互联网十万个为什么之什么是数据备份?

数据备份是按照一定的备份频率创建数据副本的过程,将重要的数据复制到其它位置或者存储介质,并对生成的副本保留一定的时长。备份通常储存在不同的物理介质或云端,以确保数据的连续性和完整性。有效的备份策略至关重要,以防止数据…

ESP32-C3-Arduino-uart

引脚图 2实现串口发送接收 1默认值初始化串口(默认是uart0) Serial.begin(UART_BAUD); 参数是波特率 2自定义其他串口 2-1创建实例 HardwareSerial SerialUART(0); //数值指的是uart0 1为uart1.。。。。 2-2初始化 SerialUART.begin(UART_BAU…