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

相关推荐
MegaDataFlowers6 分钟前
代码自动生成
java
dllxhcjla13 分钟前
Spring全套
java·后端·spring
@杰克成32 分钟前
Java学习24
java·学习·idea
挨踢ren33 分钟前
C++虚函数:从基础到高阶
java·开发语言·jvm
IT 行者1 小时前
Spring AI 2.0.0-M5 发布:全面转向 OpenAI Java SDK
java·人工智能·spring
Resky08181 小时前
ReentrantReadWriteLock 深度解析
java·开发语言·juc
铭keny1 小时前
子系统 SSO 单点登录接入配置指南
java
电商API_180079052471 小时前
淘宝商品评论数据获取指南|批量自动化|api应用
java·爬虫·spring·性能优化·自动化
梦梦代码精1 小时前
Likeshop一个开源商城到底有哪些功能模块?
java·低代码·开源·php
java1234_小锋1 小时前
Spring AI 2.0 开发Java Agent智能体 - 对话与提示词工程(Prompt)
java·人工智能·spring