首页>>后端>>SpringBoot->springboot基于什么启动?

springboot基于什么启动?

时间:2023-12-12 本站 点击:0

SpringBoot-简介

1、SpringBoot是一个基于Spring的快速开发框架,它通过“懒人整合包”(starter)将Spring常用的jar包包含在内,解决Spring依赖繁多问题。通过单一配置文件,解决了传统项目繁多、复杂的配置。

2、Spring Boot的嵌入式Apache Tomcat服务器充当Web服务器,并正在侦听localhostport上的请求8080。

3、Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。

4、将Spring Boot视为可以自动为我们完成这些初始任务的工具,确保团队可以快速开始解决实际业务问题而不是花时间在初始配置和设置。

5、SpringBoot 是一个为了简化Java应用环境搭建和开发过程的一个框架。它比较方便的就是自动配置,不需要XML配置,在主配置类上打一个@SpringBootApplication标签就可以实现自动配置。

6、Spring Boot 简介 Spring Boot是在Spring的基础上面搭设的框架,目的是为了简化Spring项目的搭设和开发过程。

SpringBoot运行原理

springboot自动配置原理是基于条件判断来配置Bean。pring Boot的自动配置原理是基于Spring框架的条件化配置(Conditional Configuration)机制实现的。

springBoot的启动可以分为两个部分,第一部分:SpringApplication的实例化;第二部分:调用该实例运行run方法(springboot初始化)。

实现原理 要引入某组件,无非要做两件事。一是引入jar包即pom文件引入stater;二就是编写配置文件,使用Java配置的情况下就是编写一系列@Configuration注解标注的类。

配置 spring.factories ,通过该配置,才能让springboot来自动加载我们的Configuration类。具体原理我们稍后深入了解。具体的,是在模块的 resources/META-INF 目录下,新建 spring.factories 文件。

SpringBoot的启动过程及部分注解

启动:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解。

包括启动流程的监听模块、加载配置环境模块。启动:每个SpringBoot程序都有一个主入口,也就是main方法,main里面调用SpringApplication.run()启动整个spring-boot程序,该方法所在类需要使用@SpringBootApplication注解。

spring boot启动流程分为两部分 一部分是准备阶段,一部分是运行阶段 准备阶段主要有这么几步:配置bean的源,就是bean的来源,就是注解了SpringBootApplication的那个类。

在了解 Spring Boot 的启动流程的时候,我们先看一下一个Spring Boot 应用是如何启动的,如下是一个简单的 SpringBoot 程序,非常的简洁,他是如何做到的呢,我们接下来就将一步步分解。

springboot启动流程是什么?

SpringBoot的启动主要是通过实例化SpringApplication来启动的。

spring boot启动流程分为两部分 一部分是准备阶段,一部分是运行阶段 准备阶段主要有这么几步:配置bean的源,就是bean的来源,就是注解了SpringBootApplication的那个类。

在了解 Spring Boot 的启动流程的时候,我们先看一下一个Spring Boot 应用是如何启动的,如下是一个简单的 SpringBoot 程序,非常的简洁,他是如何做到的呢,我们接下来就将一步步分解。

SpringBoot在启动时,通过ConfigurationClassPostProcessor.postProcessBeanFactory完成对依赖jar包中XxAutopConfiguration类的注册,自然DubboAutoConfiguration也会被注册到容器内部。

SpringBootx只区分web环境和非web环境,而在x版本中引入了Reactive环境,即响应式环境.那么现在SpringBoot支持三种环境: Servlet的web环境、Reactive的web环境以及非web环境。

SpringBoot——Servlet容器启动解析

首先贴一张很不错的图,SpringBoot启动结构图,图片出自SpringBoot启动流程解析。本文的分析基于SpringBoot5,非Spring的代码只有下面这个启。提供大量优秀的Web框架方便开发等等。

满足上面的条件,就会触发springboot的自动配置。可以看到ServletRegistrationBean是继承自RegistartionBean的,在RegistartionBean的onStart方法中,调用了register方法。

spring boot启动流程分为两部分 一部分是准备阶段,一部分是运行阶段 准备阶段主要有这么几步:配置bean的源,就是bean的来源,就是注解了SpringBootApplication的那个类。

这里首先会调用到其父类中 ServletWebServerApplicationContext : 可以看到是直接委托给了父类: 这个方法不会陌生吧,之前已经分析过了,这里不再赘述,至此SpringBoot的容器就启动了,但是Tomcat启动是在哪里呢?run方法中也没有看到。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/27715.html