微服务分布式架构基础与实战:基于Spring Boot + Spring Cloud
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 YAML文件

YAML文件的后缀为yml,yml文件和xml、json、properties文件一样,都是一种数据存储的文件,只是数据存储的格式不同。

1.6.1 YAML文件简介

YAML文件用纯文本的形式进行记录,直接用记事本进行书写,不需要编译。

Spring Boot默认扫描资源配置文件,除.properties文件外还读取YAML文件,即yml文件。Spring Boot资源配置文件的约定命名分别为application.properties、application.yml、bootstrap.properties、bootstrap.yml。

在代码中可以通过@Value、@ConfigurationProperties、@ApplicationContext三种方式获取配置文件信息的形式,同时获得YAML文件内相关的配置信息且不需要更改任何代码。

1.6.2 YAML文件的书写格式

(1)YAML文件的Key Value结构应写为Key:Value,冒号后若有值则要注意Value前必须有1个空格,若不写则无法正常响应文件。

(2)如果某个Key下有多个Key,每个Key前就需要增加2个空格,如org.zfx.boot.another.number,该Key的number前应该有8个空格。注意,不能使用TAB键缩进,这也是初学者的常见错误之一。

(3)每个Key结束后必须有一个“:”作为结尾;如果没有,程序启动不会报错,但是用@Value进行读取没有“:”的值时,就会报空指针错误或YAML格式错误;如果有“:”,就取空值。

(4)YAML文件中没有“=”,一切以“:”为核心。

(5)YAML文件的注释以“#”开头,但是如果写在“:”后,必须在“:”后加一个空格,否则报错,YAML无法识别后会报YAML格式错误。

(6)不能通过@PropertySource注解加载。