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;
    }
}

posted @ 2022-03-14 11:28  Tian-Jotian-Yongxing  阅读(32)  评论(0)    收藏  举报