spring-boot启动流程-3.3.0
2024-03-26 16:08:32 9 举报
Spring Boot启动流程-3.3.0是一个用于描述Spring Boot应用程序启动过程的文档。在这个版本中,启动流程主要包括以下几个核心步骤:1. 初始化应用程序上下文,加载配置文件(如application.properties),设置日志系统等。2. 扫描并注册 bean 定义,通过注解(如@Component、@Service等)来识别并注册应用程序中的bean。3. 自动配置,根据应用程序的环境和依赖项自动配置应用程序的各个方面,如数据库连接、消息队列等。4. 启动 web 服务,如果应用程序是web应用程序,Spring Boot会自动启动内嵌的web服务器(如Tomcat),并提供RESTful API等。5. 最后是启动应用程序,此时应用程序已经处于运行状态,可以处理请求和响应。在这个过程中,Spring Boot采取了一种基于约定优于配置的理念,使得应用程序的启动和配置变得更加简单和快捷。
作者其他创作
大纲/内容
TomcatServletWebServerFactory#getWebServer
SpringApplicationRunListeners#started
ServletWebServerApplicationContext#onRefresh
启动类
SpringApplicationRunListeners#starting
TomcatServletWebServerFactory#getTomcatWebServer
ApplicationEnvironmentPreparedEvent
SpringApplicationRunListener#ready执行Listener
SpringApplication#getRunListeners
往容器中添加优雅关机WebServerGracefulShutdownLifecycle
SpringApplicationRunListeners#failed执行Listener
SpringApplication#afterRefresh
如需在spring Refresh前生效则需配置在spring.factories中
SpringApplication#SpringApplication在构造器里面获取spring.factories里面配置的类
SpringApplication#prepareContext
ServletWebServerApplicationContext#getWebServerFactory
如果启动失败了
SpringApplication#callRunners
SpringApplicationRunListeners#environmentPrepared执行Listener
发布事件
SpringApplicationRunListener#contextLoaded执行Listener
Tomcat
BootstrapRegistryInitializerApplicationContextInitializerApplicationListener
调用spring.factories中配置的ApplicationContextInitializer
SpringApplication#run主要逻辑
ServletWebServerApplicationContext#createWebServer
SpringApplication#prepareEnvironment
SpringApplicationRunListener#starting
SpringApplication#refreshContext
SpringApplication#printBanner
SpringApplicationRunListener#contextPrepared执行Listener
加载配置文件,包括spring-cloud的配置文件
SpringApplication#createApplicationContext
TomcatWebServer#initialize
加载所有spring.factories中的SpringApplicationRunListener
SpringApplication#createBootstrapContext创建一个 ConfigurableBootstrapContext主要是有个多波器,负责发布事件
BootstrapRegistryInitializer#initialize启动之前进行调用
SpringApplicationRunListener#started执行Listener
0 条评论
下一页