当前位置:实例文章 » JAVA Web实例» [文章]Spring Boot 3.x 系列【49】启动流程 | 创建、准备应用上下文

Spring Boot 3.x 系列【49】启动流程 | 创建、准备应用上下文

发布人:shili8 发布时间:2025-03-11 20:55 阅读次数:0

**Spring Boot3.x 系列【49】启动流程**

在前面的文章中,我们已经了解了 Spring Boot 的基本概念、配置文件的使用以及依赖管理等内容。然而,Spring Boot 的真正魅力体现在其简洁高效的启动流程上。在本文中,我们将深入探讨 Spring Boot3.x 版本的启动流程。

**1. 创建应用上下文**

当我们运行 `java -jar` 命令时,Spring Boot 会创建一个新的应用上下文。这个过程称为 "应用上下文创建"(Application Context Creation)。

javapublic class SpringApplication {
 public static ConfigurableListableBeanFactory createBeanFactory() {
 // ...
 }

 public static ConfigurableEnvironment createEnvironment() {
 // ...
 }
}


在 `createBeanFactory()` 方法中,我们可以看到 Spring Boot 创建了一个新的 BeanFactory 实例。这个实例将用于管理应用的 bean。

同样,在 `createEnvironment()` 方法中,我们可以看到 Spring Boot 创建了一个新的 Environment 实例。这是一个配置环境,用于存储应用的属性和配置信息。

**2. 准备应用上下文**

在应用上下文创建后,Spring Boot 会准备好应用上下文。这个过程称为 "应用上下文准备"(Application Context Preparation)。

javapublic class SpringApplication {
 public static void prepareContext(ConfigurableListableBeanFactory beanFactory) {
 // ...
 }

 public static void prepareEnvironment(ConfigurableEnvironment environment) {
 // ...
 }
}


在 `prepareContext()` 方法中,我们可以看到 Spring Boot 为 BeanFactory 实例进行了准备工作,例如注册了必要的 bean 和配置。

同样,在 `prepareEnvironment()` 方法中,我们可以看到 Spring Boot 为 Environment 实例进行了准备工作,例如加载了应用的属性和配置信息。

**3. 加载配置文件**

在应用上下文准备后,Spring Boot 会加载应用的配置文件。这个过程称为 "配置文件加载"(Configuration File Loading)。

javapublic class SpringApplication {
 public static void loadProperties(ConfigurableEnvironment environment) {
 // ...
 }
}


在 `loadProperties()` 方法中,我们可以看到 Spring Boot 加载了应用的属性和配置信息。

**4. 初始化 BeanFactory**

在配置文件加载后,Spring Boot 会初始化 BeanFactory 实例。这个过程称为 "BeanFactory 初始化"(BeanFactory Initialization)。

javapublic class SpringApplication {
 public static void initBeanFactory(ConfigurableListableBeanFactory beanFactory) {
 // ...
 }
}


在 `initBeanFactory()` 方法中,我们可以看到 Spring Boot 为 BeanFactory 实例进行了初始化工作,例如注册了必要的 bean 和配置。

**5. 初始化 Environment**

在 BeanFactory 初始化后,Spring Boot 会初始化 Environment 实例。这个过程称为 "Environment 初始化"(Environment Initialization)。

javapublic class SpringApplication {
 public static void initEnvironment(ConfigurableEnvironment environment) {
 // ...
 }
}


在 `initEnvironment()` 方法中,我们可以看到 Spring Boot 为 Environment 实例进行了初始化工作,例如加载了应用的属性和配置信息。

**6. 启动应用**

最后,在所有准备工作完成后,Spring Boot 会启动应用。这个过程称为 "应用启动"(Application Startup)。

javapublic class SpringApplication {
 public static void run(String[] args) {
 // ...
 }
}


在 `run()` 方法中,我们可以看到 Spring Boot 启动了应用。

以上就是 Spring Boot3.x 版本的启动流程。这个流程简洁高效,能够快速启动应用并提供必要的服务。

其他信息

其他资源

Top