一、概述与properties文件,json格式三者都是配置属性文件;yaml 语言可以编写 .yml 文件,相比之下,YAML 是专门用来写配置属性文件的语言,非常简洁和强大,远比 JSON 格式方便。
二、基于yml配置文件2.1 yml分析——unicode,易于阅读,便于脚本语言交互,是一种用于表示数据序列的编程语言。
——场景感知脚本语言:由于实现简单、分析成本低,YAML特别适合在脚本语言中使用
——序列化: YAML直接从主机语言数据类型转换,更适合序列化。
——配置文件: YAML比XML快得多,它比INI文档更强大,而不需要在意标签和引号。 由于兼容性问题,建议不同语言之间的数据流不要使用YAML。
——语言的优点YAML容易阅读。 YML数据可以在编程语言之间移植。 YML匹配敏捷语言的本机数据结构。 YML具有支持通用工具的一致模型。 YAML支持单程处理。 YAML具有表现力和扩展性。
2.2 YAML语法——使用空间Space缩进来表示层次。 层次之间的缩进可以使用不同的空格数,但同一层次的元素必须左对齐。 也就是说,前面的空间数相同。 (选项卡不可用。 每个系统选项卡对应的空间数量不同,可能会导致层次结构混乱。 ) ) ) ) ) ) ) ) ) )。
3354‘#”表示注释,只能注释#到行尾的一行
“a dash and space”在——破折号之后表示列表
——键值对key: value用冒号和空格表示
——简单数据(标量数据、标量数据)可以不用包含字符串数据的引号。 用单引号或双引号括起来的被视为字符串数据,单引号或双引号使用c样式的转义字符
2.3配置数据——配置常规数据
语法: key: value
代码演示:
name : zhangsan http://www.Sina.com /
——配置对象数据
语法:
#方式一key : key 1: value1key 2: value2#方式二key: {key1: value1,key2: value2}示例代码:
#方式一person : name : zhangsan age : 18 addr : Henan #方式二person: {name: zhangsan,age:18,addr3360Henan}3360
——设置映射数据
与对象的放置方法相同
构成——数组(List、Set )数据
语法:
#方式一key: – value1 – value2#方式二key: [value1,value2]示例代码:
city: -害羞的孩子g – tianjin – shanghai – chongqing #或city: [害羞的孩子g,tianjin,shanghai, chongqing] #集合中的元素是student :-name : zhangsan age :18 score :100-name : lisiage :28 score 336088-name
#常规数据放置name: dddxs对象放置person : name : gxdl 336018 addr 3360北京#行内对象放置person: {name: lgdds,age: 18, addr:北京}#配置数据,集合(普通字符串) city: -)害羞的孩子g – shanghai – tianjincity: [ (害羞的孩子、tianjin、shanghai]#配置数据,] sudent :-name : lgddsage :18 addr :腼腆的孩子- name : zxd NP :19 addr 3360 Tianjin student : [ { name 3360 zhangsan {name: lishi,age: 20,addr:腼腆的孩子}]#map配置map : key 1: value1key 2: value 2.4数据获取#方式1:@ controlller rpuble @requestmapping((/quick ) ) @ResponseBody public String quick ) ) /获取配置文件信息的return ‘name:’ name ),addr=’ addr }#方式2 (@ configuration properties (@ controller @ configuration properties ) prefix=’person ‘ )公共类快速2 controperation //在该方式中为set,get方法public String getName () { return name; }公共语音集名称(字符串名称) { this.name=name; } public String getAddr () { return addr; } publicvoidsetaddr (字符串addr ) { this.addr=addr; }@requestmapping((/quick2) ) @ response body public string quick2) ) /获取配置文件信息的return ‘name:’ name ),addr=