SpringBoot的启动过程
时间: 2023-11-19 14:16:23 浏览: 108
SpringBoot启动方式
SpringBoot的启动过程可以通过以下几个步骤来描述:
1. 发布启动事件:在SpringBoot启动时,会发布一个启动事件(EventPublishingRunListener#starting())。这个事件可以被监听器监听到,并触发相关的操作。
2. 加载异常报告:在SpringBoot的核心方法run中,会加载所有的SpringBootExceptionReporter接口的实现类。这个接口用于支持对SpringApplication启动错误的自定义报告。其中,SpringBootExceptionReporter接口包含了报告启动失败的方法。
3. 初始化IOC容器:SpringBoot会在启动过程中初始化IOC容器。在这个阶段,Spring会扫描并注册所有带有@Component注解的Bean,并进行依赖注入和初始化操作。
4. 执行自定义初始化任务:在SpringBoot中,我们可以通过实现Runner接口或使用spring.factories配置文件的方式来定义自定义的初始化任务。这些任务会在IOC容器初始化完成之后执行。
需要注意的是,异常的发生可能会打乱上述步骤的顺序。在某些情况下,异常可能在IOC容器初始化之前就发生了。为了应对这种情况,SpringBoot提供了通过spring.factories配置文件的方式来定义初始化任务。通过这种方式,我们可以确保在异常发生之前执行必要的初始化操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Spring Boot启动流程](https://blog.csdn.net/quanzhan_King/article/details/130920792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文