SpringbBoot-02yaml配置以及配置文件加载优先级

    技术2023-11-15  87

    SpringbBoot-02

    yaml配置

    配置文件 SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的

    application.properties 语法结构 :key=valueapplication.yml 语法结构 :key:空格 value

    传统xml配置:

    <server> <port>8080<port> </server>

    yaml配置:

    server: prot: 8080

    yaml基础语法 1、空格不能省略 2、以缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。 3、属性和值的大小写都是十分敏感的。 注意: “ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思; 比如 :name: “Rose\n shen” 输出 :Rose换行 shen ‘’ 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出 比如 :name: ‘Rose\n shen’ 输出 :Rose\n shen 对象、Map(键值对)

    对象、Map格式

    k: v1: xxx v2: xxx 行内写法 k{v1:xxx ,v2:xxx }

    数组( List、set ) 用 - 值表示数组中的一个元素,比如:

    pets: -cat -dog -pig 行内写法 pets[cat,dog,pig]

    修改SpringBoot的默认端口号 配置文件中添加,端口号的参数,就可以切换端口;

    server: port: 8082

    多配置文件 我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本;

    例如 application-test.properties 代表测试环境配置 application-dev.properties 代表开发环境配置 但是Springboot并不会直接启动这些配置文件,它默认使用application.properties主配置文件

    yaml的多文档块

    和properties配置文件中一样,但是使用yml去实现不需要创建多个配置文件,更加方便了 ! 多环境配置tomcat端口号,dev开发环境,test测试环境,可以选择激活哪个

    server: port: 8080 spring: profiles: active: dev – server: port: 8081 spring: profiles: dev – server: port: 8082 spring: profiles: test

    注意:如果yml和properties同时都配置了端口,并且没有激活其他环境 , 默认会使用properties配置文件的! 配置文件加载位置 外部加载配置文件的方式十分多,我们选择最常用的即可,在开发的资源文件中进行配置! springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件:

    优先级1:项目路径下的config文件夹配置文件 优先级2:项目路径下配置文件 优先级3:资源路径下的config文件夹配置文件 优先级4:资源路径下配置文件

    优先级由高到底,高优先级的配置会覆盖低优先级的配置;

    Processed: 0.009, SQL: 9