SpringBoot与YAML配置详解

需积分: 5 2 下载量 70 浏览量 更新于2024-08-05 收藏 12KB MD 举报
"yaml语法学习" YAML(YAML Ain't a Markup Language,或者Yet Another Markup Language)是一种人类可读的数据序列化语言,主要用于配置文件,因其简洁和清晰的层次结构而受到欢迎。与XML等其他配置文件格式相比,YAML更注重数据本身,而非标记语言的复杂性。 在SpringBoot框架中,`application.properties`和`application.yml`是两种常见的配置文件。`application.properties`使用传统的键值对形式(key=value),而`application.yml`则采用YAML语法,提供更清晰的结构。例如,若要更改SpringBoot默认的服务器端口,可以分别在两个文件中这样设置: - `application.properties`: ``` server.port=8081 ``` - `application.yml`: ``` server: port: 8081 ``` YAML的基础语法规范包括: 1. **空格的重要性**:YAML语法中,空格用于表示层级关系,不能省略。例如,`server`和`port`之间的空格表示它们是父-子关系。 2. **缩进规则**:同一层级的数据项必须左对齐,使用相同数量的空格或制表符进行缩进。不同的缩进表示不同的层级。 3. **大小写敏感**:YAML中的属性名和值是区分大小写的,`Kv`和`kv`被视为不同的键。 4. **字面量**:基本的值类型,如数字、布尔值和字符串,可以直接写在键后面。字符串默认不需引号。例如: ``` key: value ``` 5. **字符串的引号**:双引号(`"`)内的特殊字符不会转义,单引号(`'`)内的特殊字符会被转义。例如: - 双引号示例:`name: "kuang\nshen"` 输出 `kuang shen` - 单引号示例:`name: 'kuang\nshen'` 输出 `kuang\nshen` 6. **对象和Map**:通过键值对表示对象,每对键值之间用冒号分隔,键和值在同一层级。例如: ``` person: name: qinjiang age: 3 ``` 7. **行内写法**:对于较短的对象,可以使用花括号(`{}`)来紧凑地表示,如: ``` student: {name: qinjiang, age: 3} ``` 8. **数组和List/Set**:用减号(`-`)表示数组中的元素,如: ``` pets: - cat - dog ``` YAML的灵活性和易读性使其在配置文件、数据交换和脚本编写中广泛应用。理解和掌握YAML语法,对于处理SpringBoot等现代应用的配置至关重要。