yaml配置文件值获取

一:配置文件值注入

  • 配置文件编写application.yml
person:
  lastName: dhx
  age: 25
  boss: dhx
  birth: 1994/02/10
  maps: {k1: v1,k2: w2}
  lists: [a1,22]
  dog:
    name: dog
    age: 4
  • javaBean
/*
    将配置文件的每一个属性值映射到这个组件中
    @ConfigurationProperties:告诉springBoot将本类中所有属性和配置文件中的相关配置进行绑定
    prefix = "person" :配置文件中那个下面的属性进行一一映射
    只有这个组件是容器中的组件,才能使用容器提供的ConfigurationProperties功能
 */
@ConfigurationProperties(prefix = "person")
@Component
public class person {
    private  String lastName;

    private  Integer age;

    private String boss;

    private Date birth;

    private Map maps;

    private List lists;

    private  Dog dog;

//省略get/set方法。toString方法
}
  • 我们可以导入配置文件处理器,以后编写配置就有提示了

        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        

二:properties配置文件编码问题

  • application.properties编写
#idea的properties配置文件默认编码utf-8
#配置person的值
person.last-name=代红星
person.age=25
person.birth=2020/03/56
person.boss=false
person.dog.name=dog
person.dog.age=4
person.lists=a,b,c
person.maps.k1=1
person.maps.k2=12
  • #dea的properties配置文件默认编码utf-8,如果想显示中文,需要更改idea的属性,找到Settings里面的file encodings然后修改编码为utf-8

yaml配置文件值获取_第1张图片

yaml配置文件值获取_第2张图片

 

三测试

/*
    SpringBoot单元测试
    可以在测试期间很方便的类似编码一样进行自动注入容器等功能
 */

@SpringBootTest
class Demo1ApplicationTests {

    @Autowired
    private Person person;
    @Test
    void contextLoads() {
        System.out.println(person);
    }

}

 

你可能感兴趣的:(sprint,boot)