Spring Boot的聊聊启动原理是通过SpringApplication类来实现的。具体流程如下:
创建一个应用程序的启动SpringApplication实例。
分析应用程序的原理上下文环境(包括Java系统属性、环境变量、聊聊命令行参数等),启动并将其转化为一个可配置的原理ApplicationContextInitializer列表。
创建一个可配置的聊聊Environment实例,并且将其作为参数传递给创建的启动ApplicationContextInitializer列表中的每个实例进行初始化。
创建一个可配置的原理ResourceLoader实例,并将其传递给创建的聊聊ApplicationContextInitializer列表中的每个实例进行初始化。
调用ApplicationContextInitializer列表中每个实例的启动initialize方法,对应用程序的原理上下文环境进行初始化。
创建一个可配置的BeanDefinitionRegistry实例,并将其传递给创建的ApplicationContextInitializer列表中的每个实例进行初始化。
创建一个可配置的ApplicationContext实例,并且将其作为参数传递给创建的ApplicationContextInitializer列表中的每个实例进行初始化。
调用ApplicationContextInitializer列表中每个实例的initialize方法,对ApplicationContext进行初始化。
注册应用程序的主类(如果存在)作为一个bean,并调用其run方法来启动应用程序。
如果应用程序的主类是一个ServletInitializer(用于Web应用程序),则通过调用其onStartup方法来启动Web容器。
使用Spring的DispatcherServlet来处理HTTP请求。
如果应用程序的主类实现了CommandLineRunner接口,则调用其run方法,以便在应用程序启动后执行一些额外的逻辑。
Spring Boot的启动原理是通过创建SpringApplication实例来分析应用程序的上下文环境并初始化ApplicationContext,然后通过调用应用程序的主类来启动应用程序,同时处理Web请求和执行一些额外的逻辑。
责任编辑:武晓燕 来源: java知路 springboot初始化逻辑(责任编辑:休闲)
微信小程序今日正式上线(含上手指南),张小龙发朋友圈向乔布斯致敬
PlayStation发表会被指令人失望 SIE CEO做出回应
vivo X90开始预热:1英寸超大底和新一代自研芯片都来了
Redmi Note 12探索版评测:外观惊喜 210W闪充独孤求败
银保监会完善相关政策措施 支持符合绿色低碳发展需求的保险产品和服务