.yml是什么文件

.yml是什么文件一 YML 是什么 YAML YAML Aint Markup Language 是一种标记语言 通常以 yml 为后缀的文件 是一种直观的能够被电脑识别的数据序列化格式 容易被人类阅读 容易和脚本语言交互的 可以被支持 YAML 库的不同的编程语言程序导入 一种专门用来写配置文件的语言 可用于如 Java C C

大家好,我是讯享网,很高兴认识大家。

一、YML是什么

  • YAML (YAML Aint Markup Language) 是一种标记语言,
  • 通常以.yml为后缀的文件
  • 是一种直观的能够被电脑识别的数据序列化格式
  • 容易被人类阅读 容易和脚本语言交互的
  • 可以被支持YAML库的不同的编程语言程序导入
  • 一种专门用来写配置文件的语言。 可用于如: Java,C/C++, Ruby, Python, Perl, C#, PHP等
  • yaml语言者说是一种规范

二、 编写规则

1.基本语法

  1. k: v 表示键值对关系,冒号后面必须有一个空格
  2. 使用空格的缩进表示层级关系,空格数目不重要,只要是左对齐的一列数据,都是同一个层级的
  3. 缩进时不允许使用Tab键,只允许使用空格。
  4. 大小写敏感
  5. “”: 双引号;不会转义字符串里面的特殊字符,name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
  6. ‘’:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

松散表示,java中对于驼峰命名法,可用原名或使用-代替驼峰,如java中的 lastName属性,在yml中使用lastName或 last-name都可正确映射

name1: zhangsan name2: 'zhangsan \n lisi' name3: "zhangsan \n lisi" age: 18 flag: true # 日期 date: 2019/01/01 # 对象属性关系 people: name: zhangsan age: 20 # 行内写法 people: { 
   name:zhangsan,age: 20} # 数组写法 pets: - dog - pig - cat # 数组行内写法 pets: [dog,pig,cat] 

讯享网

2. 对比Json差别

  • 大小写敏感 (json 里也是大小写敏感的)
  • 使用缩进表示层级关系 (json 中使用 {} 表示层级)
  • "#"表示注释 (json 不允许写注释, yaml 写的配置文件要比 json 方便很多)
  • 对象
讯享网# conf.yml animal: pets hash: { 
    name: Steve, foo: bar } 

转json


讯享网

{ { "animal": "pets" }, { "hash": { "name": "Steve", "foo": "bar" } } } 
  • 数组 / 字符串 / null
讯享网# conf.yml Animal: - Cat - Dog - Goldfish # 正常情况下字符串不用写引号 str: 这是一行字符串 # 字符串内有空格或者特殊字符时需要加引号 str: '内容: 字符串' parent: ~ # null 

转json

{ 
    "Animal": [ "Cat", "Dog", "Goldfish"], "str": "内容: 字符串", "parent": null } 

3. 对比Java事例代码

讯享网public class Person { 
    private String lastName; private Integer age; private Boolean boss; private Date birth; private Map<String,Object> maps; private List<Dog> lists; private Dog dog; private String[] arr; } public class Dog { 
    private String name; private Integer age; } 对应的yml person: boss: false maps: k1: v1 k2: 14 lists: - name: d1 age: 2 - name: d2 age: 3 - { 
   name: d3,age: 4} birth: 2017/12/15 dog: name: p_dog age: 15 age: 13 last-name: 张三 arr: [s1,s2,s3] 

3. 文档块

对于测试环境,预生产环境,生产环境可以使用不同的配置,如果只想写到一个文件中,yml与是支持的,每个块用----隔开

server: port: 8081 spring: profiles: active: prod #激活对应的文档块 --- server: port: 8083 spring: profiles: dev #指定属于哪个环境 --- server: port: 8084 spring: profiles: prod #指定属于哪个环境 

三、YML的优点

  • 易于阅读 数据在编程语言之间是可移植性强
  • 匹配敏捷语言的本机数据结构
  • 具有一致的模型来支持通用工具
  • 支持单程处理。
  • 具有表现力和可扩展性
  • 易于实现和使用
小讯
上一篇 2025-01-28 09:47
下一篇 2025-02-16 10:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26191.html