千家信息网

SpringBoot中YAML语法怎么用及要注意哪些点

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"SpringBoot中YAML语法怎么用及要注意哪些点",在日常操作中,相信很多人在SpringBoot中YAML语法怎么用及要注意哪些点问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2026年11月03日SpringBoot中YAML语法怎么用及要注意哪些点

这篇文章主要介绍"SpringBoot中YAML语法怎么用及要注意哪些点",在日常操作中,相信很多人在SpringBoot中YAML语法怎么用及要注意哪些点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SpringBoot中YAML语法怎么用及要注意哪些点"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

YAML语法及几个注意点

yaml后缀名可以是.yml或者.yaml

对于语法注意的一点是固定的缩进来控制它的层级关系,它的key: value形式必须要要在中间有空格

实体类(setter,getter,toString省略)如下

@Component@ConfigurationProperties(prefix = "person")public class Person {    private String lastName;    private Integer age;    private List hobbies;    private Map map;    private Dog dog;}

在使用了@ConfigurationProperties注解过后idea会给你发出警告,可以不管,但是这样你在yml中配置时就没有提示功能,所以点进警告,这时你会发现可能出现网页找不到的情况,这时候你只需要将网址栏的版本降低即可,如下

将框中的内容放进pom,然后重新运行项目,在yaml中就会对你自己写的标注了@ConfigurationProperties的类有了代码提示功能

public class Dog {    private String name;    private Integer age;}

application.yml配置文件进行值的注入

person:  last-name: 张三  age: 25  hobbies:    - 篮球    - 跑步    - 吉他  map: {k1: 你好,k2: 世界}  dog:    name: 狗东西    age: 10

列表可以用上面的形式也可以用下面的形式,看清楚光标处有空格,对象类型就可以用{},如下面的Map

yaml的松散绑定

Java中lastName的驼峰命名法,yaml中可以用其他的形式来表示。如

last_namelast-namelastNameLASTNAME

首次玩这个如果想在测试类里面测试,有可能你会出现运行不了一直卡在Maven。。。的框里面,解决方案:我的错误收集笔记

YAML语法简易入门

可以查看官方或者其他的博客资料,会有一大堆的内容

YAML语言的设计参考了JSON,XML和SDL等语言。YAML 强调以数据为中心,简洁易读,编写简单。

有意思的命名:

AML全称是"YAML Ain’t a Markup Language"(YAML不是一种置标语言)的递归缩写。 在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)。

语法特点

  • 大小写敏感

  • 通过缩进表示层级关系

  • 禁止使用tab缩进,只能使用空格键 (个人感觉这条最重要)

  • 缩进的空格数目不重要,只要相同层级左对齐即可

  • 使用#表示注释

支持的数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

  • 纯量(scalars):单个的、不可再分的值

双引号和单引号的区分

双引号"":不会转义字符串里面的特殊字符,特殊字符作为本身想表示的意思。

yamlname: "123\n123"

输出: 123 换行 123

如果不加引号将会转义特殊字符,当成字符串处理

值的写法

1.字符串

使用"或""或不使用引号

yamlvalue0: 'hello World!'value1: "hello World!"value2: hello World!

2.布尔值

true或false表示。

3.数字

yaml12 #整数014 # 八进制整数0xC #十六进制整数13.4 #浮点数1.2e+34 #指数.inf空值 #无穷大

4.空值

null或~表示

5.日期

使用 iso-8601 标准表示日期

yamldate: 2018-01-01t16:59:43.10-05:00

在springboot中yaml文件的时间格式 date: yyyy/MM/dd HH:mm:ss

6.强制类型转换(了解)

YAML 允许使用个感叹号!,强制转换数据类型,单叹号通常是自定义类型,双叹号是内置类型。

yamlmoney: !!str123date: !Booleantrue

内置类型列表

yaml!!int # 整数类型 !!float # 浮点类型 !!bool # 布尔类型 !!str # 字符串类型 !!binary # 也是字符串类型 !!timestamp # 日期时间类型 !!null # 空值 !!set # 集合 !!omap,!!pairs # 键值列表或对象列表!!seq # 序列,也是列表 !!map # 键值表

7.对象(重点)

Map(属性和值)(键值对)的形式: key:(空格)v :表示一堆键值对,空格不可省略。

yamlcar:    color: red    brand: BMW

一行写法

yamlcar:{color: red,brand: BMW}

相当于JSON格式:

json{"color":"red","brand":"BMW"}

8.数组

一组连词线开头的行,构成一个数组。

yamlbrand:   - audi   - bmw   - ferrari

一行写法

yamlbrand: [audi,bmw,ferrari]

相当于JSON

json["auri","bmw","ferrari"]

9.文本块

|:使用|标注的文本内容缩进表示的块,可以保留块中已有的回车换行

yamlvalue: |   hello   world!

输出结果:hello 换行 world!

+表示保留文字块末尾的换行,-表示删除字符串末尾的换行。

yamlvalue: |hellovalue: |-hellovalue: |+hello

输出:hello\n hello hello\n\n(有多少个回车就有多少个\n)

注意 "|" 与 文本之间须另起一行

:使用 > 标注的文本内容缩进表示的块,将块中回车替换为空格,最终连接成一行

yamlvalue: > helloworld!

输出:hello 空格 world!

注意 ">" 与 文本之间的空格

10.锚点与引用

使用 & 定义数据锚点(即要复制的数据),使用 * 引用锚点数据(即数据的复制目的地)

yamlname: &a yamlbook: *abooks:    - java   - *a   - python

输出book: yaml

输出books:[java,yaml,python]

注意*引用部分不能追加内容

到此,关于"SpringBoot中YAML语法怎么用及要注意哪些点"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

类型 字符 语法 数据 空格 字符串 输出 内容 引号 形式 文本 一行 对象 整数 学习 特殊 写法 层级 数组 日期 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 广州大一互联网络科技有限公司 中国互联网科技工作委员会毛军 互联网科技公司华为 互联网为科技 互联网与科技发展 齐家互联网科技 亿账通互联网科技 人人互联网科技是培训 深圳市运趣互联网科技有限公司 武汉健翔互联网络科技有限公司 企晟互联网信息科技有限公司 杭州披云加互联网科技有限公司 富国互联网金融科技混合基金 工业互联网科技成果转化 互联网科技收购价值 北京天晋互联网科技有限公司 互联网领先科技成果宣传视频 互联网科技创业计划的风险分析 利用互联网等科技手段 广州紫鲸互联网科技有限公司 撒么互联网科技公司 汉立互联网科技有限公司联系电话 互联网科技公司需要的职位 汽车互联网创新科技园 杭州壁岐互联网科技有限公司 互联网科技大奖都有哪些公司 互联网新科技动漫ppt素材 怎样加入科技互联网 张召忠谈中国互联网科技
0