探讨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应用程序,从而提升开发效率和质量。

相关文章
|
2月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
181 73
|
2月前
|
Java Spring
【Spring配置相关】启动类为Current File,如何更改
问题场景:当我们切换类的界面的时候,重新启动的按钮是灰色的,不能使用,并且只有一个Current File 项目,下面介绍两种方法来解决这个问题。
|
3月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
55 1
|
4月前
|
存储 安全 Java
|
3月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
53 1
|
3月前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
48 0
|
5月前
|
Java 应用服务中间件 Spring
IDEA 工具 启动 spring boot 的 main 方法报错。已解决
IDEA 工具 启动 spring boot 的 main 方法报错。已解决
114 4
|
27天前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
202 17
Spring Boot 两种部署到服务器的方式
|
27天前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
59 17
springboot自动配置原理