SpringBoot笔记(2)-配置文件之yaml

yaml

基本语法

  1. yaml中的属性以键值对KV的形式构成,形式为key: value,其中冒号后面需要有一个空格
  2. 在yaml中大小写敏感
  3. 使用缩进表示层级关系,缩进只能使用空格
  4. 缩进的空格数目并不重要,相同层级的元素只需要左对齐即可
  5. #表示注释
  6. 字符串不需要增加引号,如果需要增加,则单引号表示原本输出,双引号中的转义符会被转义

数据类型

  1. 字面量:表示单个不可再分的值,例如数值、字符串、布尔值、日期、空值等,使用键值对的形式指定:

    1
    K: V
  2. 对象:可以看作是键值对的集合,例如Map集合、对象object等:

    1
    2
    3
    4
    5
    6
    7
    8
    # 行内写法
    K: {k1: v1, k2: v2, k3: v3}

    # 多行写法
    k:
    k1: v1
    k2: v2
    k3: v3
  3. 列表:一组值的集合,例如数组array、列表list等:

    1
    2
    3
    4
    5
    6
    7
    8
    # 行内写法
    K: [v1, v2, v3]

    # 多行写法
    k:
    - v1
    - v2
    - v3

在SpringBoot中,我们可以利用@ConfiguratonProperties来将配置文件中的值与实体类进行绑定。自定义的类在绑定的时候一般没有提示,我们可以添加相关依赖来增加提示:(参考:Spring Boot Reference Documentation

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

由于上面的依赖只是为了方便我们的开发,因此可以在打包的时候指定排除上面的依赖:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

SpringBoot中的配置文件有三种形式,分别是application.propertiesapplication.yamlapplication.yml,其中.properties的优先级更高。


SpringBoot笔记(2)-配置文件之yaml
http://example.com/2022/11/03/SpringBoot笔记-2-配置文件之yaml/
作者
EverNorif
发布于
2022年11月3日
许可协议