SpringBoot中YAML语法怎么用及要注意哪些点
这篇文章主要介绍“SpringBoot中YAML语法怎么用及要注意哪些点”,在日常操作中,相信很多人在SpringBoot中YAML语法怎么用及要注意哪些点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot中YAML语法怎么用及要注意哪些点”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
YAML语法及几个注意点yaml后缀名可以是.yml或者.yaml
对于语法注意的一点是固定的缩进来控制它的层级关系,它的key: value形式必须要要在中间有空格
实体类(setter,getter,toString省略)如下@Component@ConfigurationProperties(prefix="person")publicclassPerson{privateStringlastName;privateIntegerage;privateList<String>hobbies;privateMap<String,Object>map;privateDogdog;}
在使用了@ConfigurationProperties注解过后idea会给你发出警告,可以不管,但是这样你在yml中配置时就没有提示功能,所以点进警告,这时你会发现可能出现网页找不到的情况,这时候你只需要将网址栏的版本降低即可,如下
将框中的内容放进pom,然后重新运行项目,在yaml中就会对你自己写的标注了@ConfigurationProperties的类有了代码提示功能
publicclassDog{privateStringname;privateIntegerage;}application.yml配置文件进行值的注入
person:last-name:张三age:25hobbies:-篮球-跑步-吉他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:'helloWorld!'value1:"helloWorld!"value2:helloWorld!
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:redbrand: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:|helloworld!
输出结果:hello 换行 world!
+表示保留文字块末尾的换行,-表示删除字符串末尾的换行。
yamlvalue:|hellovalue:|-hellovalue:|+hello
输出:hello\n hello hello\n\n(有多少个回车就有多少个\n)
注意 “|” 与 文本之间须另起一行
:使用 > 标注的文本内容缩进表示的块,将块中回车替换为空格,最终连接成一行
yamlvalue:>helloworld!
输出:hello 空格 world!
注意 “>” 与 文本之间的空格
10.锚点与引用
使用 & 定义数据锚点(即要复制的数据),使用 * 引用锚点数据(即数据的复制目的地)
yamlname:&ayamlbook:*abooks:-java-*a-python
输出book: yaml
输出books:[java,yaml,python]
注意*引用部分不能追加内容
到此,关于“SpringBoot中YAML语法怎么用及要注意哪些点”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。