切换成功
||
\ /
嵌入式servlet容器自动配置原理 ------tomcat 为例
1.Spring boot 根据导入的依赖情况,给容器中添加相应的EmbeddedServletContainFactory[TomcatEmbeddedServletContainerFactory]
2.某个组件要创建对象就会惊动后置处理器
EmbeddedServletContainerCustomizerBeanPostPricessor;
只要是嵌入式的Servlet容器工厂,后置处理器就工作
3.后置处理器,从容器中获取所有的 EmbeddedServletContainerCustomizer。调用定制器的定制方法
什么时候创建嵌入式的servlet 容器工厂?什么时候获取嵌入式的servlet容器并启动tomcat?
1.springboot 应用启动run 方法
2.refreshContext(context) //Spring boot 刷新ioc容器【创建IOC容器对象,并初始化容器,创建容器中的每一个组件】如果是web应用创建annotationConfigEmbeddedWebApplicationContext,否则annotationConfigApplicationContext
3.refresh(context)刷新刚才创建好的ioc容器
嵌入式的servlet 容器创建对象并启动servlet容器; 再将ioc容器中剩下没有创建出来的对象获取出来;ioc容器启动创建嵌入式的servlet容器