什么是YAML
写在前面
(1)YAML 是 JSON 的超集,简洁而强大,专门用来书写配置文件的语言,可以替代 *.properties。
(2)在创建SpringBoot框架的项目时,引入的 spring-boot-starter-web 依赖间接地引入了snakeyaml 依赖, snakeyaml 会实现对 YAML 配置的解析。
(3)YAML 的使用非常简单,利用缩进来表示层级关系,并且大小写敏感。
与 *.Properties 配置的区别
SpringBoot - @PropertySource注解使用详解
(1)可以使用 @PropertySource 注解加载自定义的 Properties 配置文件,但无法加载自定义的 YAML 文件。
(2)YAML 支持列表的配置,而 Properties 不支持。
(3)application.properties 的优先级会比 application.yml 高,也就是说如果两个文件都存在,且两个文件都配置了同一个属性,那么会以 application.properties 里的配置为准。
与bootstrap.yml的区别
(1)bootstrap.yml 可以理解为系统级别的一些参数配置,一般用于定义一些不会变动的参数。
(2)application.yml 可以理解为应用级别的一些参数配置,一般用于定义应用系统的参数配置。
(2)使用配置中心的组件时,需要在bootstrap配置文件中添加连接到配置中心的配置信息。