pringboot热部署导致applicationContext获取为空


  在项目中遇到一个很奇怪的问题,写了一个SpringContextUtil工具类来获取applicationContext,初始化的时候断点来看的确是初始化了,applicationContext对象不为空,但是在一个监听类里面去获取的时候一直报空指针,一查原来是applicationContext对象为空,由于我是接单点登录,在A项目里面已经实现了,在B项目里面同样的代码却无法获取到?!检查了无数遍代码后,我确信代码是没问题的,问题就在两个项目的差别上。

  首先我怀疑是项目结构导致springboot没有扫描到包,然后一阵更换代码的目录结构还是没有问题,偶然在网上看到一个贴子https://blog.csdn.net/a1091662876/article/details/93873626,刚好我也是接单点登录,这位大佬给我很好的启发,springboot的热部署导致类加载器不一致,导致获取不到applicationContext实例,关闭热部署一测,果然通了;然后返回查看A项目,果然没开热部署;非常感谢这位大佬的帖子;

  这里我的处理方法是直接关闭热部署,如果需要修改热部署的类加载器可以参考一下这位大佬的帖子;

参考文档:https://blog.csdn.net/a1091662876/article/details/93873626


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM