一、编写application.yaml文件(也可以写成application.yml)
person:
last-name: tangshimei
age: 19
position: student
birthday: 2000/07/19
maps: {v1: v1,V2: v2}
likes:
- dance
- draw
dog:
name: 二狗子
age: 2
- last-name、age、position和birthday表示person的一般普通属性
- maps:使用键值对
- likes:这是使用的是集合的形式,在元素的前面要添加“-”
二、编写Dog的pojo类
在yaml配置文件中配置有dog属性,dog表示的是一个对象,因此需要创建一个dog的pojo类,并利用Lombok插件生成Getter/Setter方法
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
public class Dog {
private String name;
private Integer age;
}
三、编写Person的pojo类
类Person的属性会和yaml配置文件中person一 一映射(将配置文件的属性映射到该组件中)
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
@Component //该组件必须是容器的组件才能使用相应的服务
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private String position;
private Date birthday;
private Map<String,Object> maps; //键值对
private List<String> likes; //集合类型
private Dog dog; //对象类型
}
- @Data:会自动添加getter/setter,toString方法
- @Component:这个类必须是容器的组件,才能使用容器提供的ConfigurationProperties服务。
- @ConfigurationProperties(prefix = “person”):映射属性,告诉Spring Boot将该yaml配置文件的属性与该组件映射。
prefix = “person”:在yaml中配置有许多的属性,prefix指定了组件具体与配置文件中的哪个元素绑定。
另外还可以导入配置文件处理器,在配置文件进行绑定的时候会有提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐configuration‐processor</artifactId>
<optional>true</optional>
</dependency>
四、测试Spring Boot
@RunWith(SpringRunner.class)
@SpringBootTest
class Springboot02HellowordApplicationTests {
@Autowired
private Person person;
@Test
void contextLoads() {
System.out.println( person.toString());
}
}
一切顺利。。。。