• 「SpringBoot」03 配置文件


    SpringBoot——配置文件

    笔记整理自【尚硅谷】雷神SpringBoot2视频教程

    1. 文件类型

    Ⅰ. properties

    • 同以前的properties用法。

    Ⅱ. yaml

    简介

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

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

    基本语法

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

    数据类型

    • 字面量:单个的、不可再分的值。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

    实例

    @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

    用yaml表示以上对象

    person:
      userName: zhangsan
      # userName: 'zhangsan \n lisi'
      # userName: "zhangsan \n lisi"
      # 单引号会将\n作为字符串输出 双引号会将\n作为换行符输出 单引号会转义 双引号不会转义
      boss: false
      birth: 2019/12/12 20:12:33
      age: 18
      pet:
        name: tomcat
        weight: 23.4
      # 数组和List的表示方法[]和-都可以
      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}
          - name: lyc
            weight: 68.5
        health: [{name: mario,weight: 47}]
    
    • 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
    • 29
    • 30
    • 31

    2. 配置提示

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-configuration-processorartifactId>
        <optional>trueoptional>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这样在配置application.yml时idea就自动提示了:

    image-20220714125855600

    还需要在打包插件里加上这几行代码:

    image-20220714125950194

    <configuration>
        <excludes>
            <exclude>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-configuration-processorartifactId>
            exclude>
        excludes>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    因为这个功能跟业务无关,只是便于开发,所以打包时不需要把这个配置处理器也一同打包,需要把这个功能排除掉。

  • 相关阅读:
    操作系统
    Java 中数据结构LinkedList的用法
    Android通用方法获取mac地址和以太网信息ip地址、网关、dns等
    抖音短视频SEO是什么?抖音SEO系统源码/SEO系统源码搭建/
    【QML】QML性能优化 | 3D场景优化
    虚拟修补:您需要知道的一切
    防范与解决.faust勒索病毒:恢复数据文件与预防方法
    一体式城市内涝监测站
    vue教程
    01 导论【计量经济学及stata应用】
  • 原文地址:https://blog.csdn.net/weixin_53407527/article/details/125837536