`
m635674608
  • 浏览: 5027715 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

yaml语法规范

    博客分类:
  • java
 
阅读更多

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);

分享到:
评论

相关推荐

    YAML语法&用法

    4. **API 设计**: API 的描述文档,如 OpenAPI(以前的 Swagger),常使用 YAML 来定义接口规范。 总之,YAML 是一种强大且灵活的数据表示语言,因其简洁、易读和易于解析的特性,在IT行业中得到了广泛应用。理解和...

    yaml文件格式规范-yaml文件

    **YAML 文件格式规范** YAML (YAML Ain't Markup Language) 是一种数据序列化语言,它强调以数据为中心,而不是像XML那样注重标记语言的形式。YAML 的设计目标是简洁且易于人类阅读,因此被誉为“人性化数据格式...

    saltstack的常见配置

    #### 一、SaltStack的SLS文件编写格式与YAML语法规范 SaltStack配置中的SLS文件采用YAML语言编写。YAML是一种人类可读的数据序列化语言,用于配置文件、数据交换等方面。为了确保配置文件的正确性和一致性,以下是...

    Yaml:基本语法使用.docx

    以下是对 YAML 基本语法的详细说明: 1. **字符编码**:YAML 文件应使用可打印的 Unicode 字符,推荐使用 UTF-8 或 UTF-16 编码。 2. **空白字符**:YAML 使用空白字符(空格)进行层次结构的划分,但禁止使用 Tab...

    Python库 | ruamel.yaml-0.15.74-cp35-cp35m-win_amd64.whl

    ruamel.yaml提供了比标准的PyYAML库更强大的功能,包括保留原始格式信息、支持YAML 1.2规范以及提供更灵活的数据结构。 **YAML语言介绍** YAML(Yet Another Markup Language)是一种数据序列化格式,常用于配置...

    解析yml、yaml的工具类库文件

    SnakeYAML提供API供Java开发者读取和写入YAML文档,它支持YAML 1.1规范,能够处理复杂的YAML结构,如映射(Map)、序列(Sequence)和标量(Scalar)。 使用SnakeYAML,开发者可以轻松地将YAML字符串转换为Java对象...

    yaml specification.pdf

    - **全长度示例(Full Length Example)**:展示了 YAML 文档的完整示例,有助于理解 YAML 的语法和用法。 #### 五、处理 YAML 信息 **处理 YAML 信息** 包括以下步骤: 1. **表示(Represent)**:将数据表示为 YAML...

    前端项目-js-yaml.zip

    1. **YAML 1.2**: YAML 1.2 是 YAML 的一个版本,相较于早期的版本,它引入了一些改进和新特性,比如支持更多数据类型和语法规则,提高了语言的规范性和兼容性。这个项目提供的就是一个符合 YAML 1.2 规范的解析器和...

    java源码:YAML解析器 SnakeYAML.zip

    通过深入研究SnakeYAML的源代码,你可以了解其内部实现细节,包括如何解析YAML语法,如何映射到Java对象,以及如何处理错误和异常。这将有助于提升你的Java编程技巧,特别是处理数据序列化和反序列化的问题。同时,...

    固定格式yaml 转换成restful api文档

    在IT行业中,API(Application Programming Interface)文档是开发者之间交流的重要工具,它详细说明了服务提供的功能、调用方式以及参数等信息。...这个过程对于规范API开发、提高团队协作效率具有重要意义。

    YAML解析器 SnakeYAML

    YAML的语法简洁且直观,它强调易读性,通过空格缩进表示层级关系。例如,一个简单的YAML文档可以这样表示: ```yaml person: name: John Doe age: 30 address: street: 123 Main St city: Anytown country: ...

    swagger_endpoints:根据swagger Yaml规范生成端点代码

    为了更好地利用Swagger Endpoints,开发者应该熟悉Erlang编程语言的基本语法和模式,同时深入理解Swagger Yaml规范,确保生成的代码符合预期。在“swagger_endpoints-master”这个压缩包中,可能包含了源代码、示例...

    ansible学习之playbook剧本编写

    **YAML 语法规范** - YAML 语法规则要求每行的开头使用两个空格进行缩进,而不是制表符。 - 键值对以冒号加空格的形式书写,例如 `name: nginx`。 - 列表使用 `-` 符号表示,如 `- task1`,可以包含多个任务。 - ...

    yaml和测试数据.tar.gz

    YAML-1.24是YAML的一个特定版本,它提供了更完善的语法规则和更强的类型安全特性,使得数据描述更加清晰、易于读写。 YAML的设计原则是以人类可读性优先,这意味着它采用简洁明了的结构,如使用冒号和缩进来表示...

    XML实用教程电子教案

    在本“XML实用教程电子教案”中,你将深入学习XML的基础概念、语法规范以及实际应用,这对于理解和操作XML文档至关重要。 XML的基础知识包括: 1. **XML的起源与特点**:XML起源于SGML(Standard Generalized ...

    yaml-cpp开源库

    与XML或JSON相比,YAML的语法更加简洁,更便于快速阅读和编写。例如,以下是一个简单的YAML示例: ```yaml name: John Doe age: 30 city: New York ``` ### yaml-cpp库的特性 1. **解析与序列化**: yaml-cpp库...

    Ubuntu20.04修改ip地址的方法示例

    请确保遵循以下几点yaml语法规范: 1. IP地址和DNS服务器地址需要用方括号`[]`括起来。 2. 每个冒号后应有一个空格。 3. 每一层的缩进至少比上一层多两个空格。 编辑完成后,保存文件并退出编辑器。然后,应用新的...

    A YAML parser and emitter in C++.zip

    它可以将数组、地图、自定义对象等数据结构转换为符合YAML规范的字符串,便于写入文件或在网络上传输。 3. **C++库设计**:这个库可能包含头文件和源代码,允许开发者在项目中链接和使用。通常,库会提供一个简单的...

    yaml_331_110618.zip

    通过YAML文件,开发者可以定义网格系统、字体、颜色、间距等设计规范,便于在整个项目中保持一致性。 2. **预处理集成**:YAML常与Sass、Less等CSS预处理器配合使用,允许开发者用更高级的语言特性(如变量、函数、...

Global site tag (gtag.js) - Google Analytics