【50、springboot的装载原理】

64 阅读1分钟

Spring Boot 的装载原理可以分为以下几个步骤:

  1. 通过 Maven 或 Gradle 构建项目,生成 jar 或 war 包。
  2. 运行 jar 或 war 包时,会先执行 Spring Boot 的启动类 SpringApplication.run()。
  3. 在 SpringApplication.run() 方法中,会创建 Spring 应用上下文 ApplicationContext。
  4. Spring 应用上下文 ApplicationContext 的创建是通过 SpringApplication 的 createApplicationContext() 方法实现的,该方法又调用了 createApplicationContext() 的父类 AbstractApplicationContext 的 refresh() 方法。
  5. 在 AbstractApplicationContext 的 refresh() 方法中,会完成 BeanFactory 的创建和 BeanDefinition 的解析,并将所有 Bean 注册到 BeanFactory 中。
  6. 创建完 BeanFactory 后,还需要解析配置文件和自动配置,这部分工作主要在 Spring Boot 的核心类 AutoConfigurationPackages 和 AutoConfigurationImportSelector 中实现。
  7. 配置文件和自动配置完成后,会触发事件监听器,执行相应的操作。
  8. 最后,在 Spring 应用上下文 ApplicationContext 中,所有 Bean 都已经被创建和初始化,Spring Boot 启动完成。

总的来说,Spring Boot 的装载原理就是通过 SpringApplication 的 run() 方法创建 Spring 应用上下文 ApplicationContext,然后通过自动配置和事件监听器等机制,完成 Bean 的创建和初始化,最终实现 Spring Boot 应用的启动。