SpringBoot-配置文件详解

Posted LL.LEBRON

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot-配置文件详解相关的知识,希望对你有一定的参考价值。

SpringBoot-配置文件

1.文件类型

1.1properties

同以前的properties用法。

1.2yaml

  1. 简介

    YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。

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

  2. 基本语法

    • key: value;kv之间有空格

    • 大小写敏感

    • 使用缩进表示层级关系

    • 缩进不允许使用tab,只允许空格

    • 缩进的空格数不重要,只要相同层级的元素左对齐即可

    • #表示注释

    • 字符串无需加引号,如果要加,' '会转义,“ ”不会转义。

      例:"zhangsan\\n小皮皮",单引号不会换行,双引号会换行。

  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
      
  4. 举例

    两个实体类

    @Data//lombok,这里已经帮我们封装好get,set方法
    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;
    }
    

    yaml配置:

    # yaml表示以上对象
    person:
      userName: zhangsan
      boss: false
      birth: 2019/12/12 20:12:33
      age: 18
      pet: 
        name: tomcat
        weight: 23.4
      interests: [篮球,游泳]
      animal: 
        - jerry
        - mario
      score:
        english: 
          first: 30
          second: 40
          third: 50
        math: [131,140,148]
        chinese: {first: 128,second: 136}
      salarys: [3999,4999.98,5999.99]
      allPets:
        sick:
          - {name: tom}
          - {name: jerry,weight: 47}
        health: [{name: mario,weight: 47}]
    

2.配置提示

自定义的类和配置文件绑定一般没有提示。

可以看出如果在yaml文件里用spring内部的配置会有提示,但是如果用我们定义的类没有。为了提升开发效率,这里只需在pom.xml添加依赖即可:

<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>

加完依赖后的效果:


最后喜欢的小伙伴别忘了一键三连哦🎈🎈🎈

以上是关于SpringBoot-配置文件详解的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 配置加载顺序详解

SpringBoot配置文件详解

SpringBoot学习配置文件详解

SpringBoot学习配置文件详解

SpringBoot项目集成xxljob全纪录(图文详解)

SpringBoot-配置文件详解