https://yq.aliyun.com/articles/44691
做 java 项目用的最多的配置文件就是 properites 或者 xml, xml 确实是被用烂了,Struts, Spring, Hibernate(ssh) 无一不用到 xml。相比厚重的 xml, properites 要清爽许多,一般的项目自己需要的配置也足够使用。但 properties 只支持 key=value 这种形式的配置,如果再遇到复杂结构的配置,恐怕难以胜任。
这时候 YAML 出场,yaml 不仅可以做到 properites 的小清新,也可以做到 xml 的表达复杂的结构的能以。
map
name: bastengao
money: 500W
interest: coding
array/collection
- 张三
- 李四
- 王武
混合
- name: bastengao
money: 500W
interest: coding
- name: 张三
money: 0.01
interest: eating
以上只是举几个例子,详细的语法参考,yaml spec 1.2。
用 java 读取 yaml 文件可以使用 snakeymal,maven 项目可以直接引依赖。
<dependencies>
...
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.13</version>
</dependency>
...
</dependencies>
snakeyaml 读取 yaml
InputStream input = new FileInputStream("config.yml");
Yaml yaml = new Yaml();
Map<String, Object> object = (Map<String, Object>) yaml.load(input);
相关推荐
4. **API 设计**: API 的描述文档,如 OpenAPI(以前的 Swagger),常使用 YAML 来定义接口规范。 总之,YAML 是一种强大且灵活的数据表示语言,因其简洁、易读和易于解析的特性,在IT行业中得到了广泛应用。理解和...
**YAML 文件格式规范** YAML (YAML Ain't Markup Language) 是一种数据序列化语言,它强调以数据为中心,而不是像XML那样注重标记语言的形式。YAML 的设计目标是简洁且易于人类阅读,因此被誉为“人性化数据格式...
#### 一、SaltStack的SLS文件编写格式与YAML语法规范 SaltStack配置中的SLS文件采用YAML语言编写。YAML是一种人类可读的数据序列化语言,用于配置文件、数据交换等方面。为了确保配置文件的正确性和一致性,以下是...
以下是对 YAML 基本语法的详细说明: 1. **字符编码**:YAML 文件应使用可打印的 Unicode 字符,推荐使用 UTF-8 或 UTF-16 编码。 2. **空白字符**:YAML 使用空白字符(空格)进行层次结构的划分,但禁止使用 Tab...
ruamel.yaml提供了比标准的PyYAML库更强大的功能,包括保留原始格式信息、支持YAML 1.2规范以及提供更灵活的数据结构。 **YAML语言介绍** YAML(Yet Another Markup Language)是一种数据序列化格式,常用于配置...
SnakeYAML提供API供Java开发者读取和写入YAML文档,它支持YAML 1.1规范,能够处理复杂的YAML结构,如映射(Map)、序列(Sequence)和标量(Scalar)。 使用SnakeYAML,开发者可以轻松地将YAML字符串转换为Java对象...
- **全长度示例(Full Length Example)**:展示了 YAML 文档的完整示例,有助于理解 YAML 的语法和用法。 #### 五、处理 YAML 信息 **处理 YAML 信息** 包括以下步骤: 1. **表示(Represent)**:将数据表示为 YAML...
1. **YAML 1.2**: YAML 1.2 是 YAML 的一个版本,相较于早期的版本,它引入了一些改进和新特性,比如支持更多数据类型和语法规则,提高了语言的规范性和兼容性。这个项目提供的就是一个符合 YAML 1.2 规范的解析器和...
通过深入研究SnakeYAML的源代码,你可以了解其内部实现细节,包括如何解析YAML语法,如何映射到Java对象,以及如何处理错误和异常。这将有助于提升你的Java编程技巧,特别是处理数据序列化和反序列化的问题。同时,...
在IT行业中,API(Application Programming Interface)文档是开发者之间交流的重要工具,它详细说明了服务提供的功能、调用方式以及参数等信息。...这个过程对于规范API开发、提高团队协作效率具有重要意义。
YAML的语法简洁且直观,它强调易读性,通过空格缩进表示层级关系。例如,一个简单的YAML文档可以这样表示: ```yaml person: name: John Doe age: 30 address: street: 123 Main St city: Anytown country: ...
为了更好地利用Swagger Endpoints,开发者应该熟悉Erlang编程语言的基本语法和模式,同时深入理解Swagger Yaml规范,确保生成的代码符合预期。在“swagger_endpoints-master”这个压缩包中,可能包含了源代码、示例...
**YAML 语法规范** - YAML 语法规则要求每行的开头使用两个空格进行缩进,而不是制表符。 - 键值对以冒号加空格的形式书写,例如 `name: nginx`。 - 列表使用 `-` 符号表示,如 `- task1`,可以包含多个任务。 - ...
YAML-1.24是YAML的一个特定版本,它提供了更完善的语法规则和更强的类型安全特性,使得数据描述更加清晰、易于读写。 YAML的设计原则是以人类可读性优先,这意味着它采用简洁明了的结构,如使用冒号和缩进来表示...
在本“XML实用教程电子教案”中,你将深入学习XML的基础概念、语法规范以及实际应用,这对于理解和操作XML文档至关重要。 XML的基础知识包括: 1. **XML的起源与特点**:XML起源于SGML(Standard Generalized ...
与XML或JSON相比,YAML的语法更加简洁,更便于快速阅读和编写。例如,以下是一个简单的YAML示例: ```yaml name: John Doe age: 30 city: New York ``` ### yaml-cpp库的特性 1. **解析与序列化**: yaml-cpp库...
请确保遵循以下几点yaml语法规范: 1. IP地址和DNS服务器地址需要用方括号`[]`括起来。 2. 每个冒号后应有一个空格。 3. 每一层的缩进至少比上一层多两个空格。 编辑完成后,保存文件并退出编辑器。然后,应用新的...
它可以将数组、地图、自定义对象等数据结构转换为符合YAML规范的字符串,便于写入文件或在网络上传输。 3. **C++库设计**:这个库可能包含头文件和源代码,允许开发者在项目中链接和使用。通常,库会提供一个简单的...
通过YAML文件,开发者可以定义网格系统、字体、颜色、间距等设计规范,便于在整个项目中保持一致性。 2. **预处理集成**:YAML常与Sass、Less等CSS预处理器配合使用,允许开发者用更高级的语言特性(如变量、函数、...