springboot配置文件值注入有两种:
① @Value
② 将配置文件和Bean进行映射,使用 @ConfigurationProperties注入
1、导入pom文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2、配置文件application.yml
person:
name: lizhoujian
age: 17
boss: true
birth: 2018/12/12
maps: {k1 : v1, k2 : v2}
lists:
- lisi
- lzj
dog:
name: 狗子
age: 12
3、bean
public class Person {
private String name;
private Integer age;
private boolean boss;
private Date birth;
private Map<String, Object> maps;
private List<Object> lists;
private Dog dog;
...
}
public class Dog {
private String name;
private Integer age;
...
}
在person上面加上如下注解:
@ConfigurationProperties(prefix = "person") //ConfigurationProperties:默认读取全局配置文件
@Component //交给springboot管理
public class Person {
...
若是自定义了一个person.properties, 则需要再加上 @PropertySource(value = "classpath:people.properties")指定文件的具体位置。
//person.properties
people.name=liuzhoujian
people.age=14
@Value的使用
public class Person {
@Value("${person.name}")
private String name;
}