SpringBoot与YAML配置详解
需积分: 5 198 浏览量
更新于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等现代应用的配置至关重要。
482 浏览量
114 浏览量
2021-05-22 上传
2021-03-27 上传
102 浏览量
112 浏览量
2021-09-09 上传
2021-07-08 上传
2024-11-29 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
火炎ii
- 粉丝: 5
最新资源
- Spring事务测试详解:属性配置与注解XML方法
- QQ聊天程序的格式转化demo演示
- C++开发的综合评价模型实现解析
- MyBatis代码生成工具:轻松实现Mapper与实体类
- 实现前端注册界面与数据验证的教程
- Java实现树形数据结构及遍历算法教程
- 安徽OI:2001-2012年AHOI试题与数据解析
- Java顺序搜索方法详解与实践
- Android Bitmap合并工具库:高效合并图片无内存溢出
- MATLAB水果图片分类与识别技术解析
- JAVA经典算法书《算法第四版》高清PDF版
- SX1261/2无线收发芯片技术手册解析
- Space Force高清壁纸插件: 新标签页主题体验
- 解密手持频谱分析仪:原理图和源码详解
- OpenCV 3.2.0 3rdparty依赖包下载指南
- 实现Android动态图表:折线、柱状与饼状图