springboot项目获取yml配置的三种方法

  • Post author:
  • Post category:其他




1.创建springboot工程

  • yml文件写入如下配置 这里配置根据自己需要进行即可
name: soul
user:
  name: lili
  age: 30
  sex: main



2.通过@value注解获取yml配置的值

  • 这也是平常使用最多的一种方法
  • 接下来我们进行测试
@SpringBootTest
public class ValueTest {

    @Value("${name}")
    private String name;

    @Value("${user.name}")
    private String name2;

    @Value("${user.age}")
    private String age;

    @Value("${user.sex}")
    private String sex;

    @Test
    void test(){
        System.out.println(name);
        System.out.println(name2);
        System.out.println(age);
        System.out.println(sex);
    }
}

  • 结构如下

    在这里插入图片描述



3.通过Environment获取属性值

@SpringBootTest
public class EnvironmentTest {

    @Autowired
    private Environment environment;

    @Test
    void test(){
        System.out.println(environment.getProperty("name"));
        System.out.println(environment.getProperty("user.name"));
        System.out.println(environment.getProperty("user.age"));
        System.out.println(environment.getProperty("user.sex"));
    }
}

  • 运行结果如下

    在这里插入图片描述



4.通过@ConfigurationProperties注解

  • 创建user实体类
@Component
@ConfigurationProperties(prefix = "user")
public class User {

    private String name;
    private Integer age;
    private String sex;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

  • 测试
@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private User user;

    @Test
    void contextLoads() {
        System.out.println(user);
    }

}

在这里插入图片描述

在这里插入图片描述

  • 注意这个前缀 么有添加会查到如下信息

    在这里插入图片描述
  • 显示最外层的哪个数据而不是user下的



版权声明:本文为weixin_45690436原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。