yaml使用
yaml核心配置文件
基本语法:
-
key: value ; key 和 value 之间有空格
key: value -
大小写敏感
-
使用缩进表示层级关系
-
缩进不允许使用tab,只允许空格
-
缩进的空格数不重要,只要相同层级的元素左对齐即可
-
‘#’表示注释
-
字符串无需加引号,如果要加 “与”表示字符串内容 会被 转义/不转义
数据类型:
-
字面量:单个的,不可再分的值。date、boolean、string、number、null
k: v -
对象:键值对的集合。map 、hash、set、object
#行内写法: k:[k1:v1,k2:v2,k3:v3,k4:v4] #或者 k: k1:v1 k2:v2 k3:v3 k4:v4 -
数组
#行内写法: k:[v1,v2,v3] #或者 k: - v1 - v2 - v3
例子:
@ConfigurationProperties(prefix = "person") //绑定资源文件
@Component //装入IOC容器
@Data
public class Person{
private String userName;
private Boolean boss;
private Date birth;
private Integer age;
private Pet pet;
private Strig[] interests;
private List<String> animal;
private Map<String,Object> score;
private Set<Double> salarys;
private Map<String,List<pet>> allpets;
}
@Data
@Component
public class Pet {
private String name;
private Double weight;
}
person:
username: 张三
boss: true
birth: 2002/03/14
age: 18
# interests: [篮球,足球]
interests:
- 篮球
- 足球
animal: [阿毛,阿狗]
score:
english: 80
math: 90
salarys:
- 1800
- 1900
#宠物
pet:
name: 阿狗
weight: 10
allPets:
sick:
- {name: 阿狗, weight: 10}
- name: 阿毛
weight: 20
health:
- {name: 李四,weight: 20}
@RestController
public class PersonController {
@Autowired
Person person;
@RequestMapping("/person")
public Person person(){
return person;
}
}


浙公网安备 33010602011771号