SpringBoot使用一个全局配置文件,用来修改SpringBoot自动配置的默认值,并且配置文件的名称是固定的:
- application.properties
- 语法结构:key=value
- application.yaml
- 语法结构:key: value(注意冒号之后有一个空格)
yaml基本语法
yaml语法要求严格,空格不能省略,以缩进来控制层级关系。
普通值
字面量直接写在后面,字符串默认不加上下双引号或单引号。
# 普通键值对
name: wudimin
对象、Map(键值对)
# 对象
student:
name: wudimin
age: 18
user: {naem: wudimin,age: 18}
数组
用 - 值来表示数组中的一个元素
#数组
pets:
- cat
- dog
pets2: [cat,dog]
修改SpringBoot的默认端口号
server:
port: 8081
yaml注入配置文件
通过yaml可以直接给我们的实体类赋值。
编写两个类用来测试
Dog类:
@Component //注册bean到容器中
public class Dog {
private String name;
private int age;
public Dog() {
}
...
}
Peolpe类:
@Component
public class People {
private String name;
private int age;
private List<Object> hobby;
private Dog dog;
...
}
使用yaml配置的方式进行注入,application.yaml:
people:
name: wudimin
age: 18
hobby:
- See movie
- Write the code
dog:
name: Q
age: 3
接下来就是将这些值注入到我们的类中,使用 @ConfigurationProperties(prefix = "people")
/*
* @ConfigurationProperties作用:
* 将配置文件中配置的每一个属性的值,映射到这个组件中;
* 告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
* 参数 prefix="people" :将配置文件中people下面的所有属性一一对应。
*/
@Component
@ConfigurationProperties(prefix = "people")
public class People {