spring boot使用@Value注解获取properties空值问题

参考链接: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。

这时候在前端页面上可以显示出,值已经获取到了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值