Spring Boot入门学习(三)yaml配置及值的获取方法
首先,Spring Boot使用默认的全局配置文件,文件名是固定的,只能是以application命名。但是格式有两种:一种是properties,另一种是yaml。
- application.properties
- application.yml
配置文件的作用是:修改SpringBoot自动配置的默认值。(因为Spring Boot将所有的配置都在底层给我们配置好了,可以通过全局配置文件修改默认的配置。)
1.yaml简介
- YAML 是 “YAML Ain’t a Markup Language”(YAML
不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。 - YAML 的配置文件后缀为 .yml,如:runoob.yml 。
- yaml配置实例:
sever
port: 8080
xml配置实例:
<sever>
<port>8080</port>
</sever>
2.基本语法
- 大小写敏感
- 使用缩进代表层级关系
- 缩进不允许使用Tab,只能使用空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- ‘#’表示注释
3.YAML 支持的三种数据类型:
- 对象:键值对的集合
- 数组:一组按次序排列的值
- 纯量(scalars):单个的、不可再分的值
用K: V表示一对键值对(注意冒号后的空格一定要有)
4. 实例
4.1 纯量(数值、字符串、布尔)
直接按照K: V的形式来写。 字符串默认是不需要加单引号或双引号;
" ": 双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思。 name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi‘’:单引号;会转义特殊字符,特殊字符终只是一个普通的字符串数据 。 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
4.2 对象(键值对)
# K: V 在下一行写属性和值的关系,注意缩进。
#一般写法:
friend:
name: zhangSan
age: 18
birthDay: 2000-01-25
#行内写法:
friend: {name: zhangSan,age: 18,birthDay: 2000-01-25}
4.3 数组(List Set)
#用- 值表示数组的一个元素
pets:
- cat
- dog
- pig
#行内写法
pets: [cat,dog,pig]
5 配置文件值的获取
主要是使用注解 @ConfigurationProperties 和 @Value 来获取配置文件的值。二者的比较如下
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量注入配置文件中的属性 | 一个个指定 |
松散绑定 | 支持 | 支持 |
SpEL | 不支持 | 支持 |
数据校验 | 支持 | 不支持 |
相关连接
Spring Boot入门学习(一)Spring Boot 特征及快速创建web项目
Spring Boot入门学习(二)探究Hello SpringBoot wed项目——pom文件里的秘密