这篇文章主要介绍“SpringBoot中WEB的启动流程是什么”,在日常操作中,相信很多人在SpringBoot中WEB的启动流程是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot中WEB的启动流程是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!想必大家都体验过springboot的便捷,以前想要运行web项目,我们首先需要将项目打成war包,然后再运行Tomcat启动项目,不过自从有了springboot,我们可以像启动jar包一样简单的启动一个web项目,今天我们就来分析下springboot启动web项目整个流程。老规矩,我们从spring.f免费云主机域名actories文件开始。spring-boot-starter-web下没有spring.factories文件所以我们从spring-boot-autoconfigure下的spring.factories开始DispatcherServlet是通过DispatcherServletAutoConfiguration注册的这也是SpringBoot中IOC容器和WEB容器是同一个的原因Spring把DispatcherServlet放到容器中后,在DispatcherServlet的初始化中会执行ApplicationContextAwareProcessor的postProcessBeforeInitialization方法,而其postProcessBeforeInitialization底层如下而DispatcherServlet是一个ApplicationContextAware,所以会执行其setApplicationContext方法,设置其属性webApplicationContext所以在web容器启动过程会把web容器设置成和ioc容器一样,springMVC容器创建代码如下,参考文章springMVC全注解启动和容器的初始化这里可能要有人问了,为什么在springMVC环境中,this.webApplicationContext为null,因为在springMVC中DispatcherServlet没有通过spring容器管理SpringBoot中容器是AnnotationConfigServletWebServerApplicationContext,其onRefresh()方法如下注意,这里他不会执行SpringServletContainerInitializer。流程如下
1、通过getSelfInitializer()方法执行容器中所有的ServletContextInitializer而ServletContextInitializer有个子类ServletRegistrationBean,通过其addRegistration方法注入Servlet容器中到此,关于“SpringBoot中WEB的启动流程是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!
本篇内容主要讲解“iis上如何部署php网站”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“iis上如何部署php网站”吧! 步骤1:安装IIS在Windows服务器上,IIS是作为一个组件来安装的。你可以通过以下步…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。