参考链接:https://bbs.csdn.net/topics/390936459
第一次写spring boot程序,多少带有springframework那种思维方式。在使用@value注解获取properties文件中的属性值时,遇到了空值情况,最终原因是参考链接中32楼的答复:
具体而言:
@Component
@PropertySource("classpath:application.properties")
@EnableConfigurationProperties
public class JsonParam {
@Value("${namenode}")
private String namenode;
public String getNamenode(){
return this.namenode;
}
}
这时候如果去new一个该对象出来调用get方法,最终得到的结果会是null;而要使用的话,可以这么做:
@RestController
public class TestController {
@Autowired
public JsonParam jsonParam;
@RequestMapping(value = "hello",method = RequestMethod.GET)
public String sayHello(){
return "HELLO BOOT---"+this.jsonParam.getNamenode();
}
}
properties属性在类A中进行读取,然后在类B中调用,则要把类A增加@Component注解,并在类B中使用@Autowired自动装配类A。
这时候在前端页面上可以显示出,值已经获取到了。