yml简介与基本入门
yml简介 与优点
yml简介
YAML (YAML Ain’t a Markup Language) 是一个可读性高,用来表达数据序列化的格式.通常以.yml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,一种专门用来写配置文件的语言。可用于如: Java,C/C++, Ruby, Python, Perl, C#, PHP等。
yml优点
- YAML易于人们阅读。
- YAML数据在编程语言之间是可移植的。
- YAML匹配敏捷语言的本机数据结构。
- YAML具有一致的模型来支持通用工具。
- YAML支持单程处理。
- YAML具有表现力和可扩展性。
- YAML易于实现和使用。
yml基本语法
-
k:(空格)v:表示一对键值对(空格必须有);
-
使用缩进表示层级关系
-
缩进时不允许使用Tab键,只允许使用空格。
-
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 – 大小写敏感
例如server: port: 8081 path: /hello
YAML 支持的三种数据结构
字面量:普通的值(数字,字符串,布尔)
1. k: v:字面直接来写;
2. 字符串默认不用加上单引号或者双引号;
3. "":双引号;不会转义字符串里面的特殊字符; 特殊字符会作为本身想表示的意思 name: "zhangsan \n lisi":输出; zhangsan 换行 lisi
4. '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
对象、Map(属性和值)(键值对)
1 k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式
friend:
name: zhangsan
age: 20
行内写法:
friends: {lastName: zhangsan,age: 18} pets: ‐ cat ‐ dog ‐ pig 1231231
数组(List、Set)
– 一组连词线(-)开头的行,构成一个数组,[]为行内写法
– 数组,对象可以组合使用
pets:
‐ cat
‐ dog
‐ pig
行内写法
pets: [cat,dog,pig]
复合结构。以上写法的任意组合都是可以
person:
lastName: hello
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1,k2: 12}
lists:
‐ lisi
‐ zhaoliu
dog:
name: 小狗
age: 12
/*** 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定; * prefix = "person":配置文件中哪个下面的所有属性进行一一映射 ** 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能; **/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;