1.基本语法
(1)
k:
(空格)k:(空格)v
表示一对键值对,空格必须有
server:
port: 8081
(2)以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一层级的。
server:
port: 8081
address: 192.168.25.1
(3)属性和值也是大小敏感。
2.值的写法
(1)字面量:普通值(数字,字符串,布尔)
k:(空格)v:字面直接来写。
字符串默认不用加上单引号或则双引号。
“”:双引号不好转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思。
name:"zhangsan\nlisi "
输出:
zhangsan
lisi
‘’:单引号会转义字符,特殊字符最总只是一个普通的字符串数据。
name:‘zhangsan \n lisi’
输出:zhangsan \n lisi
(2)对象、Map(属性和值)(键值对)
假如有一个Friends类,要用yaml文件给里面的字段赋值
@Component
@ConfigurationProperties(prefix = "friends")
public class Friends{
private String lastName;
private int age;
}
friends:
lastName: zhangsan
age: 20
行内写法:
friends: {lastName: zhangsan,age 20}
(3)数组(List、Set)
用-值表示数组中的一个元素
pets:
- cat
- dog
- pig
行内写法
pets: [cat,dog,pig]
3.实例演示
配置文件:
person:
lastName: zhangsan
age: 22
boss: true
birth: 1998/11/16
maps:
k1:
v1
k2:
v2
lists:
- 1
- 2
- 3
dog:
name: xiaohei
age: 2
JavaBean:
/*
*将配置文件中配置的每一个属性的值,映射到这个组件中
* @ConfigurationProperties:告诉springboot将本类中的属性和配置文件中相关的配置进行绑定
* prefix = "person",配置文件中哪个下面的所有属性进行一一映射
*
* 只有这个组件是容器中的组件,才使用容器提供的功能
*/
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
4.注意
在pom.xml中要加入下面的依赖:
<!--导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>