项目打包后,启动jar包有时出现SpringContextUtil.getBean()返回空指针

问题:
在实际运行中 ,项目在CollectTask类中的构造方法里的SpringContextUtil.getBean()方法报空指针错误,而且该报错并不是每次都有(有些时候项目正常启动并不会报空指针)。

原因:
在调用SpringContextUtil.getBean()方法时SpringContextUtil还没有被放到容器中,所以报空指针异常。而解决思路也很简单,就是确保SpringContextUtil初始化的时间早于afterPropertiesSet()方法所在的类。

解决:
在类上加上注解@DependsOn(“springContextUtil”),表示该类的初始化依赖于SpringContextUtil,也就是在初始化该类之前需要先初始化SpringContextUtil,从而避免因为SpringContextUtil没有初始化而造成的空指针问题。

 


原文链接:https://blog.csdn.net/weixin_40804731/article/details/106788752

上一篇:关于lr调用jar在vuser中可以运行,但是controller中却报错的问题


下一篇:Spring5源码 - 08 BeanFactory和FactoryBean 源码解析 & 使用场景