千家信息网

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

发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,这篇文章主要介绍"SpringBoot中YAML语法怎么用及要注意哪些点",在日常操作中,相信很多人在SpringBoot中YAML语法怎么用及要注意哪些点问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2025年02月21日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安全错误 数据库的锁怎样保障安全 qtp 数据库 荆州计算机软件开发地址 香港服务器低延迟哪个好亿速云 zava软件开发员 php文件链接数据库 程序员软件开发那个公司招生 亚太软件开发 阿里巴巴斑马网络安全 轮盘软件开发 网络安全作文2017作文 pg数据库应用场景 游戏辅助软件开发视频 信息和网络安全教育手抄报图片 游戏设计软件开发培训学校 如何利用重做日志恢复数据库 中职网络安全竞赛应该如何去学 网络安全应急响应流程图 网站为什么要用到数据库 网络安全钓鱼网站宣传板报 利用家庭宽带搭建服务器项目 河北前端软件开发服务费 青海惠普服务器维修维保哪家便宜 车管系统数据库更新失败 网络中心管理服务器 郑大数据库应用技术考试题 济南软件开发工资一般多少钱 北京哪个手机软件开发商好 数据库安全加密方法 软件开发用户功能需求文档 关于建立大数据库的重要性
0