项目打包后,启动jar包有时出现SpringContextUtil.getBean()返回空指针
Posted on 2021-10-23 08:46 冷城旧友 阅读(660) 评论(0) 编辑 收藏 举报问题:
在实际运行中 ,项目在CollectTask类中的构造方法里的SpringContextUtil.getBean()方法报空指针错误,而且该报错并不是每次都有(有些时候项目正常启动并不会报空指针)。
原因:
在调用SpringContextUtil.getBean()方法时SpringContextUtil还没有被放到容器中,所以报空指针异常。而解决思路也很简单,就是确保SpringContextUtil初始化的时间早于afterPropertiesSet()方法所在的类。
解决:
在类上加上注解@DependsOn(“springContextUtil”),表示该类的初始化依赖于SpringContextUtil,也就是在初始化该类之前需要先初始化SpringContextUtil,从而避免因为SpringContextUtil没有初始化而造成的空指针问题。
原文链接:https://blog.csdn.net/weixin_40804731/article/details/106788752