欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot学习笔记04——从配置文件.yml和.properties中获取数据

程序员文章站 2022-03-02 18:13:43
...

IntelliJ IDEA开发SpringBoot项目,这里不作为实际应用,只举例说明!

第一步:在配置文件中写几个等待获取的配置值

application.yml的数据如下:

person:
  id: 1
  name: 丫妹儿

application.properties的数据如下:

person.id=3
person.name=泼剃死

第二步:写一个JavaBean

@Component
@ConfigurationProperties(prefix = "person") 
public class Person {

    int id;
    String name;

    @Override
    public String toString() {
        return "person{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
}

我们关注的是这两个注解:

@Component  //把所有内容加到容器中才能生效。
@ConfigurationProperties(prefix = "person")//告诉SpringBoot这个JavaBean和配置文件中指定对的数据绑定,person就是指定的数据。

第三步:测试输出结果

我们来到IntelliJ IDEA的单元测试了,写出如下的代码:

@SpringBootTest
class SpringBoot02HelloworldApplicationTests {

    @Autowired
    Person person;

    @Test
    void contextLoads() {

        System.out.println(person);

    }

}

在这里我梦应该关注的是:@Autowired 这个注解,通过这个注解获取到person对象,然后直接输出person对象就OK了。

此时运行contextLoads方法,我们会发现application.yml中的数据被提取出来了,而application.properties中的数据没被提出来,注释掉application.yml,再次运行contextLoads方法,application.properties中的数据才被提出来,也就是说application.yml具有更高的优先级。

OK! 简单笔记。