Spring Boot 初始化流程
- 在命令行或 IDE 中运行 Spring Boot 应用程序的启动类(一般是带有 @SpringBootApplication 注解的类);
- 加载启动类,创建 Spring 应用程序上下文(ApplicationContext);
- 执行 Spring Boot 的自动配置,根据类路径(classpath)和依赖关系加载配置文件(.properties、.yml);
- 根据自动配置生成的配置信息创建 Spring Bean,同时注入依赖的其他 Bean;
- 根据生成的 Bean 对象和 BeanDefinition 创建 Spring Bean 实例;
- 根据 Bean 的作用域(Scope)管理和维护 Bean 实例的生命周期;
- 初始化应用程序的 DispatcherServlet,处理客户端请求;
- 运行应用程序,接收请求并响应客户端。