下面是yaml配置文件中的数据
server:
port: 8080
#字符串类型的数据
country: 博兴县
#两级
user:
name: zhangzhang
age: 26
#对象数组
users:
- name: zhangsan
age: 18
- name: lisi
age: 20
#描述多个信息的数组
likes:
- game
- music
- watching
- sport
下面对配置文件中的数据进行提取
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/books")
public class BooksController {
// 读取yaml数据中的单一数据
@Value("${country}") //Spring中为了注入基本数据类型以及字符串的格式
private String country; //这个属性名,不用和yaml文件中的属性名一致
// 读取两级数据
@Value("${user.name}")
private String userName;
// 读取数组中的数据
@Value("${likes[0]}") //这里采用数组的形式,下标是从0开始的
private String like1;
// 读取对象数组中的数据
@Value("${users[1].age}")
private String userAge;
@GetMapping
public String getById(){
System.out.println("springboot is running");
System.out.println("country----->"+country);
System.out.println("userName----->"+userName);
System.out.println("like1------->"+like1);
System.out.println("userAge------>"+userAge);
return "springboot is running";
}
}
控制台结果
但是不知道为什么userName的数据和配置文件中的属性值不同