什么是YAML?

简介:是一个可读性高,用来表达数据序列化的格式。YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。它非常适合用来做以数据为中心的配置文件

基本语法

  • key: value;注意:冒号与value之间有空格
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格。(但是在用idea开发时,没有要求)
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#' 表示注释
  • 字符串不需要加引号,如果加上单引号,表示内容会被转义,双引号内容不会转义

数据类型

  • 字面量:单个的,不可再分的值。data、boolean、String、number、null

       k: v
  • 对象:键值对的集合。map、hash、set、object

    行内写法:

       k: {k1:v1,k2:v2,k3:v3}

       k:
         k1: v1
         k2: v2
         k3: v3
  • 数组:一组按次序排列的值。array、list、queue
    行内写法:

       k: [v1,v2,v3]

    或者

     k:
       - v1
       - v2
       - v3

yml可以和@ConfigurationProperties注解搭配使用。

在容器中的组件上面使用@ConfigurationProperties(prefix="前缀名")注解,可以引入yml文件中的属性。将yml文件中的每一个属性的值,映射到这个组件中,注入到这个组件对应的属性中。

yml还支持松散绑定:
松散绑定类似于mybatis框架中的驼峰命名配置。例如,yml中的属性名为last-name,它可以识别绑定到类中的lastName属性。-后面跟着的字母默认是大写的

yml与properties相比,更加轻量与简洁。SpringBoot也推荐使用yml作为配置文件。

最后修改:2021 年 06 月 06 日 02 : 31 PM
如果觉得我的文章对你有用,请随意赞赏