SpringBoot:(六)YAML配置文件

笔记来源:【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)

6.1 简介

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

6.2 基本语法

  • key: value (冒号之后有一个空格
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格(IDEA中无所谓,自动将tab转化为4个空格,可以放心使用)
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释
  • 字符串无需加引号,如果要加,单引号''表示转义字符不生效双引号""表示转义字符生效

6.3 数据类型

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

    k: v
    
  • 对象:键值对的集合。可以是map、hash、object

    # 行内写法:  
    k: {k1: v1, k2: v2, k3: v3}
    
    # 或
    k: 
      k1: v1
      k2: v2
      k3: v3
    
  • 数组:一组按次序排列的值。可以是array、list、set、queue

    #行内写法:  
    k: [v1, v2, v3]
    
    #或者
    k:
     - v1
     - v2
     - v3
    

经过测试,yaml中的key不能为中文,而value可以。

示例

@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;
}
person:
  user-name: zhangsan
  boss: true
  birth: 1996/06/14
  age: 26
  pet: {name: 胖胖}
  interests: [篮球, 足球, DNF]
  animal: [小狗, 小猫, 胖虎]
  score:
    chinese: {value: 99}
    math:
      value: 100
    english:
      value: 98
  salarys: [18000.0, 25000.0]
  all-pets:
    sick: [{name: 小红}, {name: 小蓝}]
    healthy:
      - {name: 小白}
      - {name: 小黑}

6.4 自定义类绑定的配置提示

  • 自定义的类和配置文件绑定一般没有提示。若要提示,添加如下依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    
  • 在打包的时候,可以把这个包排除,因为这个包只是为了在开发的时候能够有提示作用,对打包的结果没有影响。

    <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>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值