• 第三章:SpringBoot的配置文件-核心技术


    目录

    1、文件类型

    1.1、properties

    1.2、yaml

    1.2.1、简介

    1.2.2、基本语法

    1.2.3、数据类型

    1.2.4、示例

    2、配置提示


    1、文件类型

    1.1、properties

    同以前的properties用法

    1.2、yaml

    1.2.1、简介

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

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

    1.2.2、基本语法

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

    1.2.3、数据类型

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

    k: v

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

    1. 行内写法: k: {k1:v1,k2:v2,k3:v3}
    2. #或
    3. k:
    4. k1: v1
    5. k2: v2
    6. k3: v3

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

    1. 行内写法: k: [v1,v2,v3]
    2. #或者
    3. k:
    4. - v1
    5. - v2
    6. - v3

    1.2.4、示例

    1. @Data
    2. public class Person {
    3. private String userName;
    4. private Boolean boss;
    5. private Date birth;
    6. private Integer age;
    7. private Pet pet;
    8. private String[] interests;
    9. private List animal;
    10. private Map score;
    11. private Set salarys;
    12. private Map> allPets;
    13. }
    14. @Data
    15. public class Pet {
    16. private String name;
    17. private Double weight;
    18. }
    1. # yaml表示以上对象
    2. person:
    3. userName: zhangsan
    4. boss: false
    5. birth: 2019/12/12 20:12:33
    6. age: 18
    7. pet:
    8. name: tomcat
    9. weight: 23.4
    10. interests: [篮球,游泳]
    11. animal:
    12. - jerry
    13. - mario
    14. score:
    15. english:
    16. first: 30
    17. second: 40
    18. third: 50
    19. math: [131,140,148]
    20. chinese: {first: 128,second: 136}
    21. salarys: [3999,4999.98,5999.99]
    22. allPets:
    23. sick:
    24. - {name: tom}
    25. - {name: jerry,weight: 47}
    26. - name: 小白
    27. weight: 43
    28. health: [{name: mario,weight: 47}]

    2、配置提示

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

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-configuration-processorartifactId>
    4. <optional>trueoptional>
    5. dependency>
    6. <build>
    7. <plugins>
    8. <plugin>
    9. <groupId>org.springframework.bootgroupId>
    10. <artifactId>spring-boot-maven-pluginartifactId>
    11. <configuration>
    12. <excludes>
    13. <exclude>
    14. <groupId>org.springframework.bootgroupId>
    15. <artifactId>spring-boot-configuration-processorartifactId>
    16. exclude>
    17. excludes>
    18. configuration>
    19. plugin>
    20. plugins>
    21. build>
  • 相关阅读:
    使用Spring的 @Retryable 注解优雅实现重处理
    java语言对异常处理运行的初步探索(try-catch-finally)
    大数据之LibrA数据库常见术语(五)
    wps:基本使用【笔记】
    避开MySQL 主备延迟的坑
    HJ70 矩阵乘法计算量估算
    Mybatis使用中的坑
    原理说明书艾美捷魔力红组织蛋白酶B活性分析试剂盒
    转载-C#学习笔记-基本概念(CLR、CTS、CLS...)
    缺流量时代,App们需要如何突围?
  • 原文地址:https://blog.csdn.net/m0_56379670/article/details/128165026