首页 > 编程知识 正文

springmvc的流程,出现null是怎么办

时间:2023-05-06 10:52:37 阅读:155587 作者:4831

ApplicationContext applicationContext = null

Springboot启动时发生调用错误。 applicationContext=null怎么办?

代码: @ componentpublicclasspringutilsimplementsapplicationcontextaware { privatestaticapplicationcontextaplicationcontext; @ overridepublicvoidsetapplicationcontext (applicationcontext ) throwsbeansexception { spring utils.application publicstaticapplicationcontextgetapplicationcontext () { return applicationContext; } publicstaticobjectgetbean (string name ) returnapplicationcontext.get bean ) name; } publicstatictgetbean (classt clazz ) returnapplicationcontext.get bean (clazz ) clazz; }

情况1 :非初始化时调用: Springboot项目启动后,使用时动态初始化调用类,没有任何问题。

spring utils.get bean (convertservice ) )。

情况2 )初始化时调用,但在初始化时,@ post construct @ postconstructpublicvoidinit ((spring utils.get bean ) convertservice ) ) }启动时进行了初始化,applicationContext报告了错误。 应用程序上下文=null

思考:互联网上讲述了各种各样的问题解决方法,比如添加@lazy(false )

@component@lazy(false )公共类spring utils { }

但是问题没有解决。 知道问题是初始化时的顺序问题。 初始化这个类之后,如何执行注释为@PostConstruct的方法呢?

处理:在调用SpringUtils初始化方法之前,初始化SpringUtils

@ resourceprivatespringutilsspringutils; @postconstructpublicvoidinit(} ()这样的方法虽然不是特别好的方法,但会解决问题。 为什么要在启动时调用? 也可以考虑用其他方法处理。 不需要直接放入初始化,也不需要使用计时器延迟调用。

总结:初始化springBoot项目并调用SpringUtils时,请先初始化,然后运行@PostConstruct的方法。 在常见的springBoot项目中,xml几乎都不见了。 否则,直接用xml设置,首先读入SpringUtils类。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。