Springboot配置文件与配置类的属性映射方式

一、使用注解@Value映射
我们可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上
例如:
application.properties配置如下:
person: 
    name: zhangsan 
    age: 18
或者,application.yml配置如下:
person: 
    name: zhangsan 
    age: 18
实体Bean代码如下:
@Controller 

public class QuickStartController {
  @Value("${person.name}")

  private String name;
  @Value("${person.age}")
  
  private Integer age;
  @RequestMapping("/quick")
  @ResponseBody public String quick(){

    return "springboot 访问成功! name="+name+",age="+age;
  }
}
二、使用注解@ConfifigurationProperties映射
通过注解@ConfifigurationProperties(prefifix="配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映
application.properties配置如下:
person: 
    name: zhangsan 
    age: 18
或者,application.yml配置如下:
person: 
    name: zhangsan 
    age: 18
实体Bean代码如下:
@Controller 
@ConfigurationProperties(prefix = "person") 
public class QuickStartController { 
    private String name; 
    private Integer age; 
    @RequestMapping("/quick") 
    @ResponseBody 
    public String quick(){ 
      return "springboot 访问成功! name="+name+",age="+age;             
  }
public void setName(String name) {

  this.name = name;
  }

  public void setAge(Integer age) {

  this.age = age;
  }

}
注意:使用@ConfifigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方
法才可以,而使用@Value注解修饰的字段不需要提供set方法
 
posted @ 2021-07-12 17:26  哈尔的卡西法  阅读(525)  评论(0)    收藏  举报