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 的装载原理就是通过 Spr