Wiki:
YAML(IPA: /ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年在首次发表了这种语言[1] ,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。目前已经有数种编程语言或脚本语言支援(或者说解析)这种语言。
YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递回缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言),但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。
YAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递回缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言),但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。
最新版本为1.2,官方说明地址: http://www.yaml.org/spec/1.2/spec.html
使用方式:作为配置文件,数据交换格式,序列化对象存储,测试数据文件,
一个简单的示例:
--- receipt: Oz-Ware Purchase Invoice date: 2007-08-06 customer: given: Dorothy family: Gale items: - part_no: A4786 descrip: Water Bucket (Filled) price: 1.47 quantity: 4 - part_no: E1628 descrip: High Heeled "Ruby" Slippers price: 100.27 quantity: 1 bill-to: &id001 street: | 123 Tornado Alley Suite 16 city: East Westville state: KS ship-to: *id001 specialDelivery: > Follow the Yellow Brick Road to the Emerald City. Pay no attention to the man behind the curtain. ...
基本技巧:
1,列表
使用- 表示,也就是用短杠+空白字符作为起始。
另外还有一种内置格式(inline format)可以选择──用方括号围住,并用逗号+空白区隔(类似JSON的语法)。比如:shopping: [milk, pumpkin pie, eggs, juice]
2,映射
--- # 區塊形式
person:
name: John Smith
age: 33
--- # 內置形式
person: {name: John Smith, age: 33}
3,重复元素
使用&id001先标记,然后后面用*id001指针引用
- # & 的作用,它表示一个“锚点标记”,其它节点可以使用“*”或“<<: *”来引用它的值
- node3: &node3
- a: 001
- b: 002
- # * 的作用,指node4的内容与node3完全一致
- node4:
- *node3
- # <<: * 的作用,指node5的内容包含但不完全相同于node3的值。
- node5:
- <<: *node3
- c: 003
#眼部雷射手術之標準程序
---
- step: &id001 #定義錨點標籤 &id001
instrument: Lasik 2000
pulseEnergy: 5.4
pulseDuration: 12
repetition: 1000
spotSize: 1mm
- step:
<<: *id001 # 合併鍵值:使用在錨點標籤定義的內容
spotSize: 2mm # 覆寫"spotSize"鍵值
- step:
<<: *id001 # 合併鍵值:使用在錨點標籤定義的內容
pulseEnergy: 500.0 # 覆寫鍵值
alert: > # 加入其他鍵值
warn patient of
audible pop
4,需要换行书写的字符串,两种方式:
再次强调,字串不需要包在引号之内。
保存新行(Newlines preserved)
poetry: | #譯者注:這是一首著名的五行民謠 There once was a man from Darjeeling #這裡曾有一個人來自大吉嶺 Who got on a bus bound for Ealing #他搭上一班往伊靈的公車 It said on the door #門上這麼說的 "Please don't spit on the floor" #"請勿在地上吐痰" So he carefully spat on the ceiling #所以他小心翼翼的吐在天花板上
根据设定,前方的引领空白符号(leading white space)必须对齐,以便和其他资料或是行为(如范例中的缩排)明显区分。
折叠新行(Newlines folded)
--- > Wrapped text #摺疊的文字 will be folded #將會被收 into a single #進單一一個 paragraph #段落 Blank lines denote #空白的行代表 paragraph breaks #段落之間的區隔
和保存新行不同的是,换行字元会被转换成空白字符,空行被转换成换行,而前导空白字符则会被自动消去。上面会变成两行。
5,混合使用:
阶层化的元素
于列表中使用映射
- {name: John Smith, age: 33} - name: Mary Smith age: 27
于映射中使用列表
men: [John Smith, Bill Jones] women: - Mary Smith - Susan Williams 本人博客已搬家,新地址为:http://www.pycoding.com/
相关推荐
1. YAML 基础语法: YAML 文件以其简洁、易读的格式著称,采用键值对的形式存储数据。例如: ``` key: value ``` 请注意,空格是 YAML 的关键,用来表示层次关系。缩进的空格数量(通常是两个)决定了数据的...
内容概要:包含SpringBoot——初始SpringBoot,SpringBoot的基本配置(多环境开发、yaml等)、整合第三方技术(JUnit,Mybatis,SSM)适合人群:有一定的maven,SpringMVC基础文件内容:压缩包分为两部分,笔记和...
### YAML在Kubernetes中的应用详解 #### 一、概述 YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,常用于配置文件和数据交换。...这为我们在生产环境中高效利用Kubernetes奠定了坚实的基础。
Spring Boot基础笔记知识点详细说明: 1. Spring Boot简介:Spring Boot是一个开源Java框架,用于快速、轻松地创建独立的、生产级别的基于Spring的应用程序。它支持微服务架构,目的是简化新Spring应用的初始搭建...
接口自动化框架(1-4)(5)(6)(7)(8)(终极版...6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据驱动封装 9异常日志与BaseUrl封装
6. **YAML与Properties配置**:SpringBoot支持YAML和Properties两种配置格式,YAML以更友好的格式提供了配置信息,而Properties则更符合传统Java开发者习惯。 7. **Web开发**:SpringBoot内置了Spring MVC,可以...
SpringBoot是Java后端开发中的一个热门框架,由Pivotal团队开发,...通过"SpringBoot经典学习笔记",你可以系统性地学习和实践SpringBoot,提升你的Java后端开发能力,为构建高效、稳定、易维护的项目打下坚实基础。
通过这本笔记,你可以从理论到实践全面学习SpringCloud,为构建高可用、易扩展的微服务架构打下坚实基础。在学习过程中,不断实践和探索,将理论知识转化为实际能力,提升个人在微服务领域的专业素养。
Playbook是Ansible的剧本文件,用YAML编写,定义了一系列任务(tasks),用于描述如何配置和管理远程主机。通过playbook,可以实现复杂的自动化流程。 10. **Handler与标签** Handlers在playbook中用于处理触发...
这份“springboot学习入门提升笔记”应该包含了从基础到进阶的全方面学习内容,非常适合那些想要快速上手或者希望深化SpringBoot理解的开发者。 SpringBoot的核心特性包括自动配置、嵌入式Web服务器、起步依赖和...
Spring Boot 是一个基于 Spring 框架的快速开发...这个完整的 Spring Boot 学习笔记涵盖了从基础到进阶的各个方面,通过学习和实践,你可以掌握 Spring Boot 开发的核心技能,从而高效地构建高质量的 Java 后端应用。
Pod是Kubernetes中最基础的资源单位,它可以包含一个或多个容器。下面详细介绍Pod的相关概念及其配置: 1. **创建 Pod**: ```shell kubectl run pod-demo --image=busybox ``` 2. **导出 Pod 的 YAML 文件**:...
Linux 运维笔记:Saltstack 自动化运维与实战 Saltstack 是一个服务器基础架构集中化管理平台,它基于 Python 语言实现,采用 C/S 架构,结合轻量级消息队列(ZeroMQ)与 Python 第三方模块(Pyzmq、PyCrypto、...
1. Spring Boot基础:如起步配置、自动配置、Starter POMs的使用。 2. 整合数据库:如JPA、MyBatis与Spring Boot的集成。 3. Web开发:包括RESTful API设计、Thymeleaf模板引擎、WebSocket等。 4. 配置管理:如使用...
1. **Spring Boot**:作为微服务的基础框架,Spring Boot简化了Spring应用程序的创建和配置。它集成了各种依赖,并提供了一种快速启动应用的方式。 2. **Spring Cloud**:作为微服务治理的框架,Spring Cloud提供了...
Spring Boot 集成了 Spring Security,提供了安全控制的基础框架。默认情况下,它为所有 HTTP 请求提供认证和授权保护。 10. **测试支持** Spring Boot 提供了测试支持,包括 `@SpringBootTest` 注解用于启动整个...
Spring Initializr是一个在线生成Spring Boot项目结构的工具,通过选择技术栈、版本等,可以快速生成一个基础的Spring Boot项目结构,便于开发者快速开始编码。 8. **Web开发** Spring Boot对Web开发提供了很好的...
本教材和笔记将涵盖Ansible的基础用法,如安装和配置、编写Playbooks、使用Inventory、理解和使用模块,以及如何进行错误排查。此外,还将深入讲解Ansible的最佳实践,如角色的创建和复用、模板引擎Jinja2的使用、...
5. **YAML/Properties 配置**:Spring Boot 支持 YAML 或 Properties 文件进行配置,使得配置更易于阅读和管理。`application.yml` 或 `application.properties` 是最常见的配置文件名。 6. **Spring Data JPA**:...
这本"Kubernetes权威指南"的学习笔记涵盖了从基础到高级的Kubernetes知识,适合初学者和有经验的开发者,无论你是想了解Kubernetes的基础概念,还是希望深入研究其工作机制,都能从中受益。2018年11月的更新意味着它...