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
可读性 很高 一般
语法 简洁(靠缩进) 严格(大括号)
注释 支持 # 不支持
易出错点 缩进错误 逗号/括号

相关推荐
LayZhangStrive12 分钟前
融360 一面
java·面试·后端开发
城管不管37 分钟前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记41 分钟前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
爱敲键盘的猴子1 小时前
深入理解 Java HashMap
java·hashmap
霸道流氓气质1 小时前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程
天涯醉青楼1 小时前
Spring Boot 接口返回 Bean 时字段名“变形”的深度剖析与解决方案
java
步行cgn1 小时前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
thefool1122661 小时前
从中序与后序遍历序列构造二叉树
java
吴声子夜歌2 小时前
Java面试题——JVM(二)
java·开发语言·jvm
CRMEB2 小时前
商城大促活动策划全流程:从定目标到复盘四阶段
java·开发语言·人工智能·ai·开源·php