在 Spring Boot 启动时,SpringApplication 类的 run() 方法调用了 createWebServer() 方法来创建 Web 服务器。

具体的调用流程如下:

  1. SpringApplication.run() 方法会先创建一个 SpringApplication 实例,并调用其 run() 方法。
  2. SpringApplication.run() 方法中会调用 SpringApplicationcreateApplicationContext() 方法来创建应用上下文。
  3. createApplicationContext() 方法会根据配置和类路径来创建一个 ConfigurableApplicationContext 实例,其中包括了 Spring 的 Bean 容器和其他必要的配置。
  4. 接着,createApplicationContext() 方法会调用 SpringApplicationcreateBeanFactory() 方法来创建 Bean 工厂。
  5. createBeanFactory() 方法中,首先会创建一个 DefaultListableBeanFactory 实例,并设置其相关属性。
  6. 然后,createBeanFactory() 方法会调用 SpringApplicationload() 方法来加载 Bean 定义。
  7. load() 方法中,会调用 SpringApplicationcreateBeanDefinitionLoader() 方法来创建 BeanDefinitionLoader 实例。
  8. createBeanDefinitionLoader() 方法中,会根据应用上下文和资源加载器来创建一个 DefaultBeanDefinitionLoader 实例。
  9. 最后,load() 方法会调用 BeanDefinitionLoaderload() 方法来加载 Bean 定义。
  10. 接下来,createBeanFactory() 方法会调用 SpringApplicationprepareBeanFactory() 方法来准备 Bean 工厂。
  11. prepareBeanFactory() 方法中,会设置 Bean 工厂的一些属性,例如类加载器、Bean 后置处理器等。
  12. 最后,createBeanFactory() 方法会返回创建的 Bean 工厂。
  13. 回到 createApplicationContext() 方法,接着会调用 SpringApplicationcreateWebServer() 方法来创建 Web 服务器。
  14. createWebServer() 方法中,会根据应用上下文和配置来创建一个 WebServer 实例。
  15. 最后,createApplicationContext() 方法会返回创建的应用上下文。
  16. 最终,run() 方法会返回创建的应用上下文,并完成 Spring Boot 的启动过程。
Spring Boot 启动时 Web 服务器创建流程:`createWebServer()` 方法调用分析

原文地址: https://www.cveoy.top/t/topic/qbny 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录