【springboot】7、yaml

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 【springboot】7、yaml,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

基本介绍

YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。Clark Evans在2001年首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。当前已经有数种编程语言或脚本语言支持(或者说解析)这种语言。

YAML是”YAML Ain’t a Markup Language”(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名

说的简介一点yaml就是以数据为中心的一种标记语言,经常用于配置文件的使用,例如springboot中的application.yaml就用于配置文件

基本语法

  1. 形式为 key: value;注意:后面有空格
  2. 区分大小写
  3. 使用缩进表示层级关系
  4. 缩进不允许使用 tab,只允许空格 [有些地方也识别 tab , 推荐使用空格]
  5. 缩进的空格数不重要,只要相同层级的元素左对齐即可
  6. 字符串无需加引号
  7. yaml 中, 注释使用 #

数据类型

  1. 字面量:单个的、不可再分的值。date、boolean、string、number、null,写法如下
name: 汤姆
age: 18
isMarried: false
  1. 对象:键值对的集合, 比如 map、hash、set、object,写法如下
# 对象类型的写法有2种,分为行内写法和换行写法
# 行内写法使用{}进行标识,然后用,分隔每一项
  car: {name: 保时捷, price:1234567.8}
# 换行写法,每一项就是kv进行表示
  car:
    name: 保时捷
    price: 1234567.8

3.数组:一组按次序排列的值, 比如 array、list、queue等,写法如下

# 数组类型的写法也有2种,也是分为行内写法和换行写法
# 行内写法就是用[]进行标识,中间每个值使用,进行分隔
  hobby: [篮球,羽毛球,乒乓球]
# 换行写法使用-标识每一项
  hobby:
    - 篮球
    - 羽毛球
    - 乒乓球

实例运用

下面是我创建的一个User类和Car类
在这里插入图片描述
在这里插入图片描述
然后我们在application.yaml中填充User中的值
在这里插入图片描述

user:
  name: 汤姆
  age: 18
#  hobby: [篮球,羽毛球,乒乓球]
  hobby:
    - 篮球
    - 羽毛球
    - 乒乓球
#  friends: { k1: 杰瑞,k2: 旺财 }
  friends:
    k1: 杰瑞
    k2: 旺财
#  car: {name: 保时捷, price:1234567.8}
  car:
    name: 保时捷
    price: 1234567.8

创建一个Controller进行访问,返回User,查看是否可以成功使用
在这里插入图片描述
下面启动项目,使用postman进行测试
在这里插入图片描述
可以发现我们可以成功进行绑定,yaml的语法就没有问题

细节说明

1.如 果我们同时使用 application.properties 和 application.yml 作为配置文件,而2个文件又有 相 同 的 前 缀 值 绑 定 ,则application.properties 优先级高, 开发时,应当避免
2.字符串不需要引号,如果加上引号也不影响,’和”都不影响
3. 一定要记得在:后面有一个空格

总结

如果学过JavaScript或者json,那么yaml的语法应该是十分简单的,基本没什么变化,自己写几遍就会了,yaml在springboot中作为配置文件我感觉比properties好用很多,熟练掌握是必要的。对于yaml中的嵌套,根据语法进行类推就行了,就不再赘述了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/140230.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!