基本语法
#配置普通数据
#key: value
name: zhangsan
#对象数据配置
person:
name: zhangsan
age: 18
addr: beijing
#行内对象配置(了解)
student: {name: zhangsan,age: 18,addr: bejing}
#配置数组/集合(普通字符串)
city:
- beijing
- shanghai
- chongqing
- tianjin
#行内数组/集合配置(了解)
country: [zhongguo,meiguo,eluosi]
#配置数组/集合(对象)
students:
- name: zhangsan
age: 18
addr: beijing
- name: lisi
age: 17
addr: beijing
#行内
#students:[{name: zhangsan,age: 18,addr: beijing},{name: lisi,age: 17,addr: bejing}]
#Map
map:
key1: value1
key2: value2
获取数据
方式一:@Vaule注解
@RestController
public class QuickController {
@Value("${name}")
private String name;
@Value("${person.addr}")
private String addr;
@RequestMapping("/quick")
public String quick() {
return name + " " + addr;
}
}
显示结果
方式二:@ConfigurationProperties注解
@RestController
@Component
@ConfigurationProperties(prefix = "person")
public class QuickController {
//获取person的全部数据
private String name;
private String age;
private String addr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@RequestMapping("/quick")
public String quick() {
return name + " " + age + " " + addr;
}
}
显示结果
关于使用@ConfigurationProperties注解报错的解决方案
pom.xml中添加以下座标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
在使用@ConfigurationProperties注解的类上加上@Component注解