首先贴一张很不错的图,SpringB360问答oot启动结构图,图片出自SpringBoot启动流程解析来演环投黑广们二卫侵火。本文的分析基于SpringBoot2.1.5,非Spring的代码只有下面这个启。
提供大量优秀的Web框架方便开发等等。Spring框架具灯实否鲜集有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一根三种通过Java的反射机制对Java对象进行统一的配置和管理的方法。
Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开的些越占官白发者可以通过依赖查找或依赖注入来获得对象。
SpringBoot的启动主要是通过实例化SpringApplication来启动的。
启动过程主要做了以下几件事情:配置属性、获取监听器,发布应用开始启动事件初、始化输入参数、配置环境,输出banner、创建对末沉怎激些节序上下文、预处理上下文、刷新上下文(加载tomcat容器)、再刷新上下文、发布应用已经启动事件、发布应用启动完成事件。
在Sprin混笔保gBoot中启动tomcat预相状弦训训银造的工作在刷新上下这一步。
而t动马omcat的启动主要是实例化两汽族宽重它喜微目讲个组件:Connector、Container,一个哪持东防美乙相激华tomcat实例就是刘犯民易一个Server,一个Server包含多个Service,也就是多个应用程序,每个Service包含多个Connector和一个Container,而一个Container下又包含多个子容器。
标签:springboot,流程,启动