知识点:
    1、掌握各种数据作为成员变量,配置文件中对应的写法。

    需求:创建两个普通类Person、Pet,使Person依赖Pet。绑定配置文件,并把配置文件的数据输出到浏览器。

    第一步:创建连个JavaBean类,使用注解 @ConfigurationProperties(prefix = "person") 绑定配置件中的前缀 和 @Component创建对象。
    image.png

    1. package com.wzy.boot.bean;
    2. @ConfigurationProperties(prefix = "person")
    3. @Component
    4. @ToString
    5. @Data
    6. public class Person {
    7. private String userName;
    8. private Boolean boss;
    9. private Date birth;
    10. private Integer age;
    11. private Pet pet;
    12. private String[] interests;
    13. private List<String> animal;
    14. private Map<String, Object> score;
    15. private Set<Double> salarys;
    16. private Map<String, List<Pet>> allPets;
    17. }
    18. /*=======================================================================*/
    19. package com.wzy.boot.bean;
    20. @ToString
    21. @Data
    22. public class Pet {
    23. private String name;
    24. private Double weight;
    25. }

    第二步:创建 Application.yaml 配置文件,并指定对应胡数据值。
    image.png

    1. person:
    2. #一般成员变量写法
    3. userName: 张三
    4. boss: false
    5. birth: 2021/4/10 22:04
    6. age: 25
    7. # private Pet pet; 依赖类的写法
    8. pet:
    9. name: 小菊
    10. weight: 15.5
    11. interests: [Java,看电视]
    12. #private List<String> animal;List集合的两种写法,不能混用,混用报错。
    13. animal: [gougou,maomao]
    14. # - gougou
    15. # - maomao
    16. # private Map<String, Object> score; Map集合的两种写法,不能混用,混用报错。
    17. score: {english: 50,math: 60,chinese: 70}
    18. # - english: 50
    19. # - math: 60
    20. # - chinese: 70
    21. #private Set<Double> salarys;Set集合两种写法,不能混用,混用报错。
    22. salarys: [2555.0,2888.0,2999.0]
    23. # - 2555.0
    24. # - 2888.0
    25. # - 2999.0
    26. #private Map<String, List<Pet>> allPets;两种写法
    27. allPets:
    28. sick:
    29. - {name: 花花,weight: 22.0}
    30. - name: 臀臀
    31. weight: 18.5
    32. health: [{name: 迪迪,weight: 35.5},{name: 美美,weight: 40.5}]
    33. # - {name: 小菊,weight: 22.0}
    34. # - {name: 玲玲,weight: 22.0}

    第三步:创建web层的类 MyController
    image.png

    package com.wzy.boot.controller;
    
    @RestController//
    public class MyController {
    
        @Autowired//自动注入
        Person person;
    
        @RequestMapping("/person")
        public Person person(){
            return person;
        }
    }
    

    第四步:浏览器测试 http://localhost:8888/person
    image.png