SpringBoot-配置文件详解之属性对实体类赋值

当我们有很多配置属性的时候,这时我们可能会把这些属性作为字段来创建一个javabean,并将属性值赋予给他们。比如我们的配置文件如下:

SpringBoot-配置文件详解之属性对实体类赋值_第1张图片

那么我们的需求是将my.*开头的配置项赋值给一个javabean,那么我们的javabean就应该是这样的: 

@Component
@ConfigurationProperties(prefix = "my")
public class Information {

  private String name;
  private Integer age;

  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;
  }

}

在这里,我们在javabean上添加@ConfigurationProperties注解,并设置prefix值,用于表示取哪个前缀的属性值进行赋值。另外我们需要在springboot入口类添加@EnableConfigurationProperties注解,如下:

@SpringBootApplication
@EnableConfigurationProperties({
    Information.class })
public class SpringbootApplication {

  public static void main(String[] args) {
    SpringApplication.run(SpringbootApplication.class, args);
  }
}

然后我们写一个测试Controller,如下:

@RestController
@RequestMapping("/information/*")
public class InformationController {

  @Autowired
  private Information information;

  @RequestMapping("getInfo")
  public String getMyInformation() {
    return "name:" + information.getName() + ", age:" + information.getAge();
  }
}

启动springboot,并通过浏览器访问,可以看到已经正确读取配置文件中的值了。

源代码地址: https://gitee.com/chengab/SpringBoot/tree/master/springboot/src/main/java/com/study/springboot/properties

参考博客:SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

你可能感兴趣的:(SpringBoot)