Java springboot 注入静态变量

当用Static定义一个注入配置文件变量,编译时不会错误,但是运行时会出现空指针异常报java.lang.NullPointerException: null异常

原理不多说了,直接上解决办法

解决办法一:使用 Setter 属性

    private static HdfsConf hdfsConf;

    @Autowired
    public  void setHdfsConf(HdfsConf hdfsConf) {
        this.hdfsConf = hdfsConf;
  }

 

解决办法二:使用构造函数+@Autowired

 private static HdfsConf hdfsConf;

    @Autowired
    public HdfsOperator(HdfsConf conf)
    {
        hdfsConf=conf;
    }

解决方法三:使用@PostContruct

 private static HdfsConf hdfsConf;

    @Autowired
    public HdfsConf hdfsConf2;
    @PostConstruct
    public  void beforeInit(){
        hdfsConf=hdfsConf2;
    }

 

推荐使用:解决方法一和解决方法二


posted @ 2022-02-11 10:20  王叫兽  阅读(581)  评论(0)    收藏  举报