SpringBoot启动流程是什么?

简介: Spring Boot 启动流程可以概括为以下几个步骤

Spring Boot 启动流程可以概括为以下几个步骤,下面对每个步骤进行详细介绍:

  1. 加载启动类: Spring Boot 应用的启动入口是一个带有 @SpringBootApplication 注解的启动类。这个注解是一个组合注解,包含了 @Configuration@EnableAutoConfiguration@ComponentScan 三个注解,它们分别用于指定配置类、自动装配和组件扫描。
  2. 创建 Spring 应用上下文: 在加载启动类时,Spring Boot 会创建一个 Spring 应用上下文(Application Context)。应用上下文是 Spring 框架的核心容器,负责管理 Bean 的创建、依赖注入等操作。Spring Boot 的应用上下文是基于 AnnotationConfigApplicationContext 实现的,通过读取启动类以及相关配置类中的注解信息来构建应用上下文。
  3. 执行自动装配: Spring Boot 利用自动装配机制,根据约定和条件注解加载所需的配置和组件。在创建应用上下文后,Spring Boot 会扫描并加载类路径下的所有 Starter,然后根据 Starter 中定义的条件注解,自动装配相应的配置和组件。自动装配是 Spring Boot 实现快速开发的重要机制,能够极大地减少开发者的配置工作。
  4. 运行应用: 在完成自动装配后,Spring Boot 会根据应用上下文中的配置信息启动 Web 服务或其他类型的应用。例如,如果引入了 spring-boot-starter-web Starter,Spring Boot 将创建一个嵌入式的 Tomcat 容器,并根据配置启动一个 Web 服务。同时,Spring Boot 还会扫描并加载其他组件,如控制器、服务等,以便处理请求和业务逻辑。
  5. 执行生命周期回调: 在应用运行期间,Spring Boot 提供了一系列的生命周期回调方法,允许开发者在应用启动前或停止后执行特定的逻辑操作。通过实现 ApplicationRunnerCommandLineRunner 接口,并将其注入到应用上下文中,开发者可以编写自己的生命周期回调方法。
  6. 应用关闭: 当应用需要关闭时,Spring Boot 会触发关闭事件,并执行相应的清理工作。例如,关闭数据库连接、释放资源等。同时,Spring Boot 也会调用实现了 DisposableBean 接口的 destroy() 方法,以便进行额外的清理操作。

总结而言,Spring Boot 的启动流程包括加载启动类、创建应用上下文、执行自动装配、运行应用、执行生命周期回调和应用关闭。通过自动装配和约定优于配置的原则,Spring Boot 大大简化了项目的初始化和配置过程,提高了开发效率。开发者只需关注业务逻辑的实现,而无需过多关注底层框架的配置和管理。

Jim~
+关注
目录
打赏
0
0
0
0
4
分享
相关文章
SpringBoot-Run启动流程
探索Spring Boot启动流程,从加载配置、创建应用上下文、自动配置到启动内嵌服务器。启动类是入口点,`@SpringBootApplication`标记启动,`SpringApplication.run`启动应用。自动配置基于条件注解配置Bean,应用上下文由`SpringApplication`创建并刷新。内嵌服务器如Tomcat随应用启动,简化部署。理解此流程有助于深入掌握Spring Boot。
238 2
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
154 64
SpringBoot项目打war包流程
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
文章通过一个简单的SpringBoot项目,详细介绍了前后端如何实现用户登录功能,包括前端登录页面的创建、后端登录逻辑的处理、使用session验证用户身份以及获取已登录用户信息的方法。
685 2
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
42 12
spring boot 启动流程
Spring Boot 启动流程简介: 在使用 Spring Boot 之前,启动 Java Web 应用需要配置 Web 容器(如 Tomcat),并将应用打包放入容器目录。而使用 Spring Boot,只需运行 main() 方法即可启动 Web 应用。Spring Boot 的核心启动方法是 SpringApplication.run(),它负责初始化和启动应用上下文。 主要步骤包括: 1. **应用启动计时**:使用 StopWatch 记录启动时间。 2. **打印 Banner**:显示 Spring Boot 的 LOGO。 3. **创建上下文实例**:通过反射创建
SpringBoot整合Flowable【04】- 通过代码控制流程流转
本文介绍了如何使用Flowable的Java API控制流程流转,基于前文构建的绩效流程模型。首先,通过Flowable-UI导出模型文件并部署到Spring Boot项目中。接着,详细讲解了如何通过代码部署、启动和审批流程,涉及`RepositoryService`、`RuntimeService`和`TaskService`等核心服务类的使用。最后,通过实际操作演示了流程从部署到完成的全过程,并简要说明了相关数据库表的变化。本文帮助读者初步掌握Flowable在实际业务中的应用,后续将深入探讨更多高级功能。
119 0
SpringBoot整合Flowable【04】-  通过代码控制流程流转
SpringBoot整合Flowable【03】- 通过Flowable-UI体验一个简单流程
本文介绍了如何使用Flowable 7.0以下版本的flowable-ui进行流程建模、发布和执行。首先,通过解压并启动flowable-ui war包,访问http://localhost:8080/flowable-ui/idm/#/login登录系统。接着,创建并绘制一个简单的绩效流程模型,包含开始节点、任务节点(自评、上级评、隔级评)和结束节点,并为各节点分配处理人。然后,创建应用并发布绩效流程。最后,通过创建a、b、c三个用户分别完成各节点任务,演示了整个流程的执行过程。本文旨在帮助读者理解Flowable的基本操作和流程元素,后续将介绍通过Java代码控制流程的方法。
145 0
SpringBoot整合Flowable【03】- 通过Flowable-UI体验一个简单流程
基于springboot+vue.js+uniapp小程序的销售项目流程化管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的销售项目流程化管理系统附带文章源码部署视频讲解等
88 3
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
81 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。