• SpringBoot之yaml



    前言

    YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。
    非常适合用来做以数据为中心的配置文件。


    一、基本语法

    • key: value;value和冒号之间有空格
    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进不允许使用tab,只允许空格
    • 缩进的空格数不重要,只要相同层级的元素左对齐即可
    • '#'表示注释
    • 字符串无需加引号,如果要加,单引号’'、双引号""表示字符串内容会被 转义、不转义

    二、数据类型

    yaml文件类型还是properties类型,同以前的properties,是配置文件。
    文件的后缀是.yaml。

    • 字面量:单个的、不可再分的值。date、boolean、string、number、null

    介绍

    k: v
    
    • 1
    • 对象:键值对的集合。map、hash、set、object
    #行内写法:  
    
    k: {k1:v1,k2:v2,k3:v3}
    
    #或
    
    k: 
      k1: v1
      k2: v2
      k3: v3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 数组:一组按次序排列的值。array、list、queue
    #行内写法:  
    
    k: [v1,v2,v3]
    
    #或者
    
    k:
     - v1
     - v2
     - v3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    实例

    代码如下(两个Bean实体对象):

    @Data
    public class Person {
        private String userName;
        private Boolean boss;
        private Date birth;
        private Integer age;
        private Pet pet;
        private String[] interests;
        private List<String> animal;
        private Map<String, Object> score;
        private Set<Double> salarys;
        private Map<String, List<Pet>> allPets;
    }
    
    @Data
    public class Pet {
        private String name;
        private Double weight;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    person:
      username: zhangsan
      boss: true
      birth: 2023/9/10
      age: 18
    #  interests: [篮球,足球]
      interests:
        - 篮球
        - 足球
        - 18
      animal: [阿猫,阿狗]
      score: {english:80,math:90}
      salary:
        - 9999.98
        - 9999.99
      pet:
        name: 阿狗
        weight: 99.99
      allPets:
        sick:
          - {name: 阿狗,weight: 99.99}
          - name: 阿猫
            weight: 88.88
          - name: 阿虫
            weight: 77.77
        health:
          - {name: 阿花,weight: 199.99}
          - {name: 阿明,weight: 199.99}
    
    • 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

    三、配置提示

    自定义的类和配置文件绑定一般没有提示,所有可以通过插件来解决。

            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-configuration-processorartifactId>
                <optional>trueoptional>
            dependency>
    
    
     <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.springframework.bootgroupId>
                                <artifactId>spring-boot-configuration-processorartifactId>
                            exclude>
                        excludes>
                    configuration>
                plugin>
            plugins>
        build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    总结

    以上就是yaml的简单介绍。

  • 相关阅读:
    操作系统知识点总结——第三章内存管理
    23个高级JS编程技巧,你能看懂几个?
    2024免费的硬盘数据恢复软件有哪些?
    Flutter快学快用17 打包发布:Flutter 应用,你离线上运营只差最后一步
    Unity之管理自己的Unitypackages
    【Android 开发】 面试官刨根问底?教你如何避免翻车沟通表达能力
    自考02378《信息资源管理》第一章信息资源管理基础——思维导图
    优雅写代码之《项目规范》-附加树状图生成
    Nodejs安装及环境配置
    从 Vue2向Vue3的迁移
  • 原文地址:https://blog.csdn.net/weixin_62951900/article/details/132875645