探讨spring的启动类run方法启动的时候底层会执行什么

简介: Spring是一个开源的Java应用程序框架,它为开发者提供了一种简化企业级应用开发的方式。Spring框架的核心是一个轻量级的容器,它能够管理和协调应用程序中的各个组件。在Spring框架中,Spring Boot是一个用于快速构建独立的、生产级的Spring应用程序的工具。Spring Boot简化了Spring应用程序的配置和部署,使得开发者可以更专注于业务逻辑的实现。

在Spring Boot应用程序中,启动类是一个特殊的类,它负责初始化整个应用程序并启动Spring框架。在启动类的run方法中,底层会执行一系列的操作,包括以下几个方面:

1.创建应用程序上下文:在Spring Boot应用程序中,应用程序上下文是一个重要的概念。它代表了整个应用程序的运行环境,并且包含了所有的配置信息、Bean定义和其他资源。在run方法中,会创建一个应用程序上下文对象,并将其初始化。

2.加载配置文件:Spring Boot使用application.properties或application.yml文件来配置应用程序的各种属性。在run方法中,底层会读取并加载这些配置文件,并将配置信息应用到应用程序上下文中。

3.扫描组件:在Spring框架中,组件是应用程序中的各个模块和功能单元。在run方法中,底层会扫描并加载所有的组件,并将它们注册到应用程序上下文中。这样,组件就可以被其他组件使用和访问。

4.注册Bean:在Spring框架中,Bean是应用程序中的核心对象。在run方法中,底层会根据配置信息和组件的定义,创建并注册所有的Bean对象。这些Bean对象可以被其他组件引用和使用。

5.启动服务:在run方法的最后,底层会启动应用程序的服务。这包括启动Web服务器、数据库连接等操作,以便应用程序可以正常运行。

总的来说,Spring Boot的启动类run方法在底层会执行一系列的操作,包括创建应用程序上下文、加载配置文件、扫描组件、注册Bean和启动服务等。这些操作将为应用程序的正常运行提供必要的支持和准备工作。通过使用Spring Boot,开发者可以更快速、更高效地构建和部署Spring应用程序,从而提升开发效率和质量。

相关文章
|
8月前
|
缓存 安全 Java
深入解析HTTP请求方法:Spring Boot实战与最佳实践
这篇博客结合了HTTP规范、Spring Boot实现和实际工程经验,通过代码示例、对比表格和架构图等方式,系统性地讲解了不同HTTP方法的应用场景和最佳实践。
821 5
|
10月前
|
人工智能 自然语言处理 Java
Spring 集成 DeepSeek 的 3大方法(史上最全)
DeepSeek 的 API 接口和 OpenAI 是兼容的。我们可以自定义 http client,按照 OpenAI 的rest 接口格式,去访问 DeepSeek。自定义 Client 集成DeepSeek ,可以通过以下步骤实现。步骤 1:准备工作访问 DeepSeek 的开发者平台,注册并获取 API 密钥。DeepSeek 提供了与 OpenAI 兼容的 API 端点(例如),确保你已获取正确的 API 地址。
Spring 集成 DeepSeek 的 3大方法(史上最全)
|
12月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
579 73
|
8月前
|
Java Spring 容器
两种Spring Boot 项目启动自动执行方法的实现方式
在Spring Boot项目启动后执行特定代码的实际应用场景中,可通过实现`ApplicationRunner`或`CommandLineRunner`接口完成初始化操作,如系统常量或配置加载。两者均支持通过`@Order`注解控制执行顺序,值越小优先级越高。区别在于参数接收方式:`CommandLineRunner`使用字符串数组,而`ApplicationRunner`采用`ApplicationArguments`对象。注意,`@Order`仅影响Bean执行顺序,不影响加载顺序。
641 2
|
8月前
|
前端开发 IDE Java
Spring MVC 中因导入错误的 Model 类报错问题解析
在 Spring MVC 或 Spring Boot 开发中,若导入错误的 `Model` 类(如 `ch.qos.logback.core.model.Model`),会导致无法解析 `addAttribute` 方法的错误。正确类应为 `org.springframework.ui.Model`。此问题通常因 IDE 自动导入错误类引起。解决方法包括:删除错误导入、添加正确包路径、验证依赖及清理缓存。确保代码中正确使用 Spring 提供的 `Model` 接口以实现前后端数据传递。
271 0
|
12月前
|
Java Spring
【Spring配置相关】启动类为Current File,如何更改
问题场景:当我们切换类的界面的时候,重新启动的按钮是灰色的,不能使用,并且只有一个Current File 项目,下面介绍两种方法来解决这个问题。
262 10
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
145 1
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
126 0
|
XML 前端开发 Java
Spring 最常用的 7 大类注解,史上最强整理!
随着技术的更新迭代,Java5.0开始支持注解。而作为java中的领军框架spring,自从更新了2.5版本之后也开始慢慢舍弃xml配置,更多使用注解来控制spring框架。
|
5月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
967 0