SpingBoot中的注解ConfigurationProperties注解取值为null
第一次接触ConfigurationProperties注解
@Controller
@ConfigurationProperties(prefix = "person")
public class QuickController {
private String name;
private String addr;
@RequestMapping("/quick")
@ResponseBody
public String quick() {
return "name : " + name
+ " addr : " + addr;
}
}
值的结果为null,application.yml配置如下:
person:
addr: beijing
name: zhangsan
在属性上使用@Value()注解 结果没问题 取值正常**
@Controller
public class QuickController {
@Value("${person.name}")
private String name;
@Value("${person.addr}")
private String addr;
@RequestMapping("/quick")
@ResponseBody
public String quick() {
return "name : " + name
+ " addr : " + addr;
}
}
说明是@ConfigurationProperties注解的问题
最后发现原来@ConfigurationProperties注解需要类中有get和set方法
@Controller
@ConfigurationProperties(prefix = "person")
@Data
public class QuickController {
private String name;
private String addr;
@RequestMapping("/quick")
@ResponseBody
public String quick() {
return "name : " + name
+ " addr : " + addr;
}
}