使用YAML
我们在使用Spring Boot的时候,可以使用properties配置文件来做配置,但是Spring官方更推荐使用YAML来做配置,他有着更清晰的结构,更简洁的语法,更少的占用空间,非常适合用来做以数据为中心的配置文件
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。
YAML语法有以下基本特性:
- 基本格式为
key: value
,key和value之间有空格 - 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
#
表示注释- 字符串无需加引号,如果加上,
''
与""
表示字符串内容会被转义/不转义
基本语法
字面量的写法
字面量,意思为单个的,不可再分的值,如date、boolean、string、number、null,他的写法如下
key: value
数组的写法
数组格式包含array、list、queue,他的写法如下
#行内写法
key: [value1,value2,value3]
#行外写法
key:
- value1
- value2
- value3
对象的写法
对象格式包括键值对的集合如map、hash、set、object,他的写法如下
#行内写法
key: {
key1:value1,key2:value2,key3:value3}
#行外写法
key:
key1: value1
key2: value2
key3: value3
@ConfigurationProperties
除了使用Spring提供的@Value注解为组件赋值,Spring Boot还提供了一个@ConfigurationProperties
注解,可以配合YMAL配置文件,批量为组件赋值
使用方法是在组件的类名上添加@ConfigurationProperties
注解,并设置prefix属性,然后使用@Component
注解将组件添加到容器中
@Data
@Comp