springboot核心技术----9.配置文件

本文详细介绍了YAML配置文件的语法特点,包括键值对、数据类型、层级结构和注释等,并通过Java类实例展示了如何解析和使用YAML配置。同时,提到了`spring-boot-configuration-processor`在生成配置提示方面的应用。
摘要由CSDN通过智能技术生成

4.配置文件

1.文件类型

1.1properties

同以前的properties用法

1.2yaml

1.2.1  简介

YAML 是“YAML Ain't Markup Language” (YAML不是一种标记语言)的递归缩写。在开发这种语言时,

YAML的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。

非常适合用来做一数据为中心的配置文件

1.2.2基本语法

  1)key:value;kv之间有空格

  2)大小写敏感

  3)使用锁紧表示层级关系

  4)锁紧不允许使用tab,只允许空格

  5)锁紧的空格数不重要,只要相同层级的元素左对齐即可

  6)‘#’表示注释

  7)‘&’表示字符串内容 会被转义/不转义

1.2.3 数据类型

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

k: v

 对象:键值对的集合。map、hash、set、object

行内写法:  k: {k1:v1,k2:v2,k3:v3}
#或
k: 
 k1: v1
 k2: v2
 k3: v3

数组:一组按次序排列的值。array、list、queue

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

1.2.4、示例 

@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:
  userName: 张三
  boss: true
  birth: 2019/12/9
  interest: [篮球,足球]
  animal: [阿猫,阿狗]
#  score:
#    engilish: 80
#    math: 90
  score: {english: 80,math: 90}
  salarys:
    - 9999.98
    - 9999.99
  pet:
    name: 阿狗
    weight: 10
  allPets:
    sick:
      - {name: 阿狗,weight: 10}
      - name: 阿猫
        weight: 20
      - name: 阿虫
    health:
      - {name: 阿花,weight: 199.99}
      - {name: 阿明,weight: 100}

 userName: '张三 \n' 

#单引号会将 \n作为字符串输出 双引号会将\n作为作为换行输出

#双引号不会转义,丹单引号会转义

1.2.5 yaml文件提示配置

<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.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                    <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、付费专栏及课程。

余额充值