配置文件值注入

配置文件

1
2
3
4
5
6
7
8
9
10
11
12
person:
lastName: hello
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1,k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 12
1
2
3
4
5
6
7
8
9
10
11
# idea,properties配置文件utf-8
# 配置person
person.last-name=张三
person.age=18
person.birth=2017/12/15
person.boss=false
person.maps.k1=v1
person.maps..k2=14
person.lists=a,b,c
person.dog.name=小狗
person.dog.age=15

javaBean

将配置文件中配置的每一个属性的值,映射到这个组件中

  • @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定

  • prefix = “person”:配置文件中哪个下面的所有属性进行一一映射

  • 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能

  • @ConfigurationProperties(prefix = “person”)默认从全局配置文件中获取值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* 将配置文件中配置的每一个属性的值,映射到这个组件中
* @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
* prefix = "person":配置文件中哪个下面的所有属性进行一一映射
*
* 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;
*
*/
@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;

我们可以导入配置文件处理器,以后编写配置就有提示了

1
2
3
4
5
6
<!--导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

image-20200107104009925

1、properties配置文件在idea中默认utf-8可能会乱码

idea配置乱码