springboot啓動原理
时间: 2024-07-19 08:01:19 浏览: 65
【大厂面试题】springboot之启动原理解析及其答案
Spring Boot 的启动过程主要包括以下几个步骤:
1. **加载配置**:Spring Boot会自动扫描项目中的`application.properties`或`application.yml`文件,以及其他指定位置的配置文件,读取并解析环境变量、属性等。
2. **初始化Spring应用上下文**:通过`SpringApplication`类创建一个应用实例,该类负责管理和运行整个应用。它会注册默认的配置和组件,如嵌入式Web服务器、Actuator监控等。
3. **环境检测**:Spring Boot会检查环境是否满足启动条件,比如是否有可用的JVM、所需的依赖是否存在等。
4. **自动装配**:基于注解如@Component、@Service等,Spring会自动识别并创建Bean实例。这个过程中,依赖注入和bean之间的关系会被构建起来。
5. **扫描容器组件**:Spring Boot会扫描指定的包或目录,寻找带有@SpringBootApplication、@Configuration等注解的类,这些类通常包含了核心的配置和服务。
6. **执行主函数**:当所有准备就绪后,`SpringApplication.run()`方法会被调用,这是应用程序的入口点。在这个方法里,Spring Boot会启动服务,如web服务器(如果启用了),并在控制台打印启动信息。
7. **生命周期钩子**:最后,Spring会调用各个Bean的`afterSingletonsInstantiated()`等生命周期回调方法,确保所有的组件已经初始化完毕并且可以正常协作。
阅读全文