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

相关推荐
@航空母舰2 小时前
SpringBoot通过Map实现天然的策略模式
java·spring boot·后端
Co_Hui3 小时前
Java 并发编程
java
long3164 小时前
Java 新手入门与实战开发指南
java·开发语言
执笔画流年呀4 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困4 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus5 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
用户40966601317515 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
梅头脑5 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
久久学姐6 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目
花生了什么事o6 小时前
synchronized 与 ReentrantLock:Java 锁机制原理与实现对比
java·开发语言