YAML配置介绍

文章目录

    • [一、YAML 的核心特点](#一、YAML 的核心特点)
    • [二、一个简单的 YAML 配置示例](#二、一个简单的 YAML 配置示例)
      • [对应结构(类似 JSON)](#对应结构(类似 JSON))
    • [三、YAML 基本语法规则](#三、YAML 基本语法规则)
      • [1. 缩进表示层级(非常关键)](#1. 缩进表示层级(非常关键))
      • [2. 键值对(Key-Value)](#2. 键值对(Key-Value))
      • [3. 列表(数组)](#3. 列表(数组))
      • [4. 嵌套结构](#4. 嵌套结构)
      • [5. 布尔值 / 数字](#5. 布尔值 / 数字)
    • [四、YAML 常见使用场景](#四、YAML 常见使用场景)
      • [1. DevOps / 运维](#1. DevOps / 运维)
      • [2. CI/CD](#2. CI/CD)
      • [3. 后端配置](#3. 后端配置)
      • [4. 前端/工程化工具](#4. 前端/工程化工具)
    • [五、YAML vs JSON(快速对比)](#五、YAML vs JSON(快速对比))

YAML( YAML Ain't Markup Language )是一种 人类可读的数据序列化格式 ,常用于 配置文件 。所谓"YAML配置",就是用 YAML 语法写的配置文件,用来定义程序的参数、环境、结构等。


一、YAML 的核心特点

  • 可读性强:接近自然语言
  • 用缩进表示层级 (不像 JSON 用 {}
  • 支持多种数据类型:字符串、数字、数组、对象等
  • 广泛用于工程领域(DevOps、后端、AI等)

二、一个简单的 YAML 配置示例

yaml 复制代码
server:
  host: localhost
  port: 8080

database:
  type: mysql
  username: root
  password: 123456

features:
  - login
  - register
  - payment

对应结构(类似 JSON)

json 复制代码
{
  "server": {
    "host": "localhost",
    "port": 8080
  },
  "database": {
    "type": "mysql",
    "username": "root",
    "password": "123456"
  },
  "features": ["login", "register", "payment"]
}

三、YAML 基本语法规则

1. 缩进表示层级(非常关键)

yaml 复制代码
a:
  b:
    c: 1

👉 必须用空格(通常 2 个),不能用 Tab


2. 键值对(Key-Value)

yaml 复制代码
name: Ethan
age: 30

3. 列表(数组)

yaml 复制代码
items:
  - apple
  - banana
  - orange

4. 嵌套结构

yaml 复制代码
user:
  name: Ethan
  skills:
    - coding
    - management

5. 布尔值 / 数字

yaml 复制代码
enabled: true
count: 10
price: 9.99

四、YAML 常见使用场景

1. DevOps / 运维

  • Docker → docker-compose.yml
  • Kubernetes → deployment.yaml

2. CI/CD

  • GitHub Actions → .github/workflows/*.yml

3. 后端配置

  • Spring Boot → application.yml

4. 前端/工程化工具

  • Webpack / Vite / ESLint 等工具的配置

五、YAML vs JSON(快速对比)

特性 YAML JSON
可读性 很高 一般
语法 简洁(靠缩进) 严格(大括号)
注释 支持 # 不支持
易出错点 缩进错误 逗号/括号

相关推荐
JAVA面经实录91717 小时前
MyBatis面试题库
java·mybatis
小江的记录本17 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
小江的记录本17 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:G1:Region分区、Mixed GC、回收流程、适用场景(高频)(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·spring cloud·面试
摇滚侠18 小时前
Java 零基础全套教程,反射机制,笔记 187-188
java·开发语言·笔记
超梦dasgg18 小时前
Java 生产环境第三方对接安全保障方案
java·开发语言·安全
日月云棠19 小时前
9 Double 与 Float —— IEEE 754 浮点数在 Java 中的实现
java·后端
Refrain_zc19 小时前
Android 二维码登录轮询机制:从扫码到登录的完整客户端实现
java
z落落19 小时前
C#参数区别
java·算法·c#
日月云棠19 小时前
5 StringBuffer —— 线程安全的可变字符串
java·后端
happymaker062619 小时前
SpringBoot学习日记——DAY06(整合MyBatisPlus的其他功能)
java·spring boot·学习