Spring Boot 是一个基于 Spring 框架的快速开发和部署的框架,提供了自动化配置、快速构建、方便部署的特性。
启动应用:通过调用
SpringApplication
的run
方法,启动应用,同时触发 Spring 的生命周期事件。运行应用:应用启动后,会进入运行状态,处理请求、响应和业务逻辑等。
关闭应用:当应用被关闭时,会触发 Spring 的生命周期事件,执行一些清理操作,如销毁 Bean 实例等。
Spring 的运行概要过程:
加载配置:Spring Boot 应用启动时,会加载应用的配置文件,包括
application.properties
或application.yml
等,默认从src/main/resources
目录下加载。创建 SpringApplication 实例:Spring Boot 使用
SpringApplication
类作为应用的启动入口,会创建一个SpringApplication
的实例,用于控制应用的启动流程。配置参数:通过
SpringApplication
实例,可以设置应用的各种参数,如应用的配置文件、Spring Boot 特有的配置等。可以通过方法调用或命令行参数进行设置。初始化 Spring 环境:Spring Boot 会初始化一个 Spring 环境(
ConfigurableEnvironment
),用于管理应用的配置信息。加载自动配置:Spring Boot 使用自动配置(Auto Configuration)功能,根据应用的依赖和配置,自动加载和配置 Spring Boot Starter,这些 Starter 包含了常用的配置和依赖,可以快速构建应用的基本环境。
创建应用上下文:Spring Boot 根据应用的配置和依赖,创建一个 Spring 应用上下文(
ApplicationContext
)实例,用于管理应用的 Bean 定义和 Bean 实例。执行启动器:Spring Boot 会自动执行所有在应用上下文中注册的启动器(
ApplicationRunner
和CommandLineRunner
接口的实现类),这些启动器可以用于执行应用启动时需要执行的初始化操作。
简图: