SpringbBoot-02

yaml配置

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

  • application.properties
    语法结构 :key=value
  • application.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:资源路径下配置文件

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