1、yml 基本语法
k: v:表示一对键值对(冒号与V之间有空格)
以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的
server: port: 8088 address: "www.baid.com"
属性和值都是大小写敏感的
2、值的写法
字面量:普通的值(数字、字符串,布尔)
k: v:字面直接来写
字符串默认不用加上引号或者双引号
“” 双引号;不会转义字条串里面的特殊字符;特殊字符会作为本身想表示的意思
name: "张三 lisi“ ;输出:张三 换行 lisi
对象、Map(属性和值)(键值对):
k: v:
对象还是k: v的方式
friends:
last_name: wang
first_name: gang
还有一种行内写法:
friends: {last_name: wang,first_name: gang}
数组(List、Set):
用”-“表示数组中的一个元素
pets: - cat - dog - pig
也有行内写法:
pets: [pig,cat,dog]
3、配置文件注入:
yml配置文件格式
person: lastName: 张三 age: 19 boss: false birth: 2010/05/02 maps: {k1:va,k2:v2} lists: - lisi - wangwu - zhaoliu dog: name: 小爱 age: 5
javaBean
/** * @Description 将配置文件中的配置的每一个属性映射到这个组件中 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定 * prefix = "person":配置文件中那个下面的所有属性进行一一映射 * * 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能 * * @Author liuxh * @Date 2020/4/30 10:58 **/ @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; }
我们可以导入配置文件处理器,以后编写配置就有提示了
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>