• SpringBoot学习(三)——yaml语法


    yaml语法

    springboot全局配置文件可以使用application.properties或者application.yaml或application.yml

    yaml是配置文件 ,适合用来表达或编辑数据结构、各种配置文件

    YAML 的配置文件后缀为 .yml/yaml,如:application.yml/application.yaml。

    基本语法

    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进不允许使用tab,只允许空格
    • 缩进的空格数不重要,只要相同层级的元素左对齐即可
    • '#'表示注释

    数据类型

    YAML 支持以下几种数据类型:

    • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
    • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
    • 纯量(scalars):单个的、不可再分的值

    基本用法:

    k: (空格) v 表示键值对

    以缩进来表示层级关系 只要是左对齐的一列 都是同一个层级的

    jdbc:
      driverClassName: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/SpringBoot
      username: root
      password: 123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    yaml实现属性值的注入

    application.yaml

    person:
      age: 18
      name: 张三
      birthday: 2003/9/18
      isstudent: true
      maps: {k1: v1,k2: v2}
      lists:
        - a
        - b
      dog:
        name: 小狗
        age: 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Person.java

    /**
     * @Component 将该bean 加入到spring容器
     * @ConfigurationProperties(prefix = "person") 告诉springboot 将本类中的所有的属性和配置文件中的相关的配置进行绑定
     * prefix = "person" :配置文件中的那个属性进行映射绑定
     *
     */
    
    @Component
    @ConfigurationProperties(prefix = "person")
    public class Person {
    
        int age;
        String name;
        Date birthday;
        boolean isstudent;
        Map maps;
        List lists;
        Dog dog;
    
        public Person(int age, String name, Date birthday, boolean isstudent, Map maps, List lists, Dog dog) {
            this.age = age;
            this.name = name;
            this.birthday = birthday;
            this.isstudent = isstudent;
            this.maps = maps;
            this.lists = lists;
            this.dog = dog;
        }
    
        public Person() {
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    
        public boolean isIsstudent() {
            return isstudent;
        }
    
        public void setIsstudent(boolean isstudent) {
            this.isstudent = isstudent;
        }
    
        public Map getMaps() {
            return maps;
        }
    
        public void setMaps(Map maps) {
            this.maps = maps;
        }
    
        public List getLists() {
            return lists;
        }
    
        public void setLists(List lists) {
            this.lists = lists;
        }
    
        public Dog getDog() {
            return dog;
        }
    
        public void setDog(Dog dog) {
            this.dog = dog;
        }
    
        @Override
        public String toString() {
            return "Person{" +
                    "age=" + age +
                    ", name='" + name + '\'' +
                    ", birthday=" + birthday +
                    ", isstudent=" + isstudent +
                    ", maps=" + maps +
                    ", lists=" + lists +
                    ", dog=" + dog +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101

    Dog.java

    public class Dog {
        int age;
        String name;
    
    
        public Dog(int age, String name) {
            this.age = age;
            this.name = name;
        }
    
        public Dog() {
        }
    
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    
        @Override
        public String toString() {
            return "Dog{" +
                    "age=" + age +
                    ", name='" + name + '\'' +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    helloController.java

    @RestController
    public class helloController {
    
        @Autowired
        Person person;
        @RequestMapping("/hello")
        public String hello() {
            return person.toString();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    启动项目,访问:localhost:8080/hello

    在这里插入图片描述

  • 相关阅读:
    QT 实现无边框可伸缩变换有阴影的QDialog弹窗
    计算机毕业设计springboot健身会馆预约管理系统o14kl源码+系统+程序+lw文档+部署
    初识Java 12-1 流
    springmvc第十六个练习(多个拦截器的执行和拦截器过滤器的比较)
    HDFS文件系统检查工具fsck
    业务流程管理包括什么
    代码随想录算法训练营20期|第三十天|332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结
    C#多线程学习(二) 如何操纵一个线程
    深入理解Java中的线程安全List:CopyOnWriteArrayList原理和应用
    推荐模型复现(一):熟悉Torch-RecHub框架与使用
  • 原文地址:https://blog.csdn.net/qq_41505957/article/details/125571453