使用yaml给实体类赋值
springboot使用一个全局配置文件,配置文件名称固定。一般为以下两种
- application.properties
- application.yaml
我们可以使用yaml直接给实体类赋值,流程如下:
1、创建实体类
实体类Dog
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Dog {
private String name;
private Integer age;
}
实体类Person
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@Component
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map<String,Object> maps;
private List<Object> list;
private Dog dog;
}
2、使用yaml赋值
一定注意空格!
person:
name: xukun
age: 3
happy: false
birth: 2021/7/30
maps: {k1: v1,k2: v2}
list:
- sing
- jump
- rap
dog:
name: 阿聪
age: 3
3、绑定person
在Person类上加注解,与yaml中的person绑定
@ConfigurationProperties(prefix = "person")
说明:@ConfigurationProperties:将本类中的属性与配置文件中的属性进行绑定
注意:
1、如果出现以下报错,需在pom.xml中导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
完成操作!
2、使用以下配置打开yaml代码补全
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>