springboot jar 启动

SpringBoot提供了spring-boot-maven-plugin插件打包应用为可执行jar,这个jar包含所有依赖和SpringBootloader。启动时,Java通过manifest找到主类,由JarLauncher加载。SpringApplication初始化,读取配置,创建ServletWebServerApplicationContext,预初始化后刷新容器加载自动配置,如启用web时内置Tomcat自动配置并启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一.jar包打包执行 

1.SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。

2.Spring Boot应用打包之后,生成一个Fatjar(ar包中包含jar),包含了应用依赖的jar包和Spring Boot loader相关的类。

3.java -jar会去找jar中的manifest文件,在那里面找到真正的启动类

4.Fatjar的启动Main函数是JarLauncher,它负责创建一个LaunchedURLClassLoader来加载boot-lib下面的jar,并以一个新线程启动应用的Main函数

项目的main方法


二.SpringBoot的启动原理?
1.运行main方法:初始化SpringApplication 从spring.factories 读取 listener ApplicationContextlnitializer

将启动类放入primarySources 国
推算当的web应用类型 webApplicationType 国
1.初始化SpringApplication: new SpringApplication(primarySources)读取ApplicationContextinitializer初始化器回总结:初始化信息
nlisten    听器回    
提main方法所在的类放入mainApplicationClass医

2.运行run方法
3.读取 环境变量 配置信息.
4.创建springApplication上下文:ServletWebServerApplicationContext
5.预初始化上下文:'读取启动类
6.调用refresh 加载ioc容器
加载所有的自动配置类创建(内置)servlet容器,tomcat容器也包括在内

三.内置tomcat 启动
当依赖Spring-boot-starter-web依赖时会在SpringBoot中添加:ServletWebServerFactoryAutoConfiguration servlet容器自动配置类。 该自动配置类通过@lmport导入了可用(通过@ConditionalOnClass判断决定使用哪一个)的一个Web容器工厂(默认Tomcat)
在内嵌Tomcat类中配置了一个TomcatServletWebServerFactory的Bean(Web容器工厂)。 它会在SpringBoot启动时 加载ioc容器(refresh)OnRefersh创建内嵌的Tomcat并启动,然后挂起等待用户访问

完成

Spring Boot是一个开源的框架,用于构建独立的、可执行的Spring应用程序。在使用Spring Boot构建的应用程序中,可以使用以下步骤启动应用程序。 1. 创建一个Spring Boot项目:首先,需要创建一个基于Spring Boot的Maven或Gradle项目。可以使用Spring Initializr来生成项目的基本结构和依赖关系。 2. 配置应用程序:在项目中,可以使用application.properties或application.yml文件来配置应用程序的属性,如数据库连接、服务器端口等。 3. 编写应用程序代码:编写应用程序的主要业务逻辑,括控制器、服务、存储库等。Spring Boot提供了大量的自动配置功能,可以简化开发过程。 4. 构建应用程序:使用Maven或Gradle构建项目,生成可执行的jar文件。 5. 启动应用程序:使用java命令或者使用IDE中的运行按钮来启动应用程序。执行命令java -jar your-app.jar启动应用程序。 6. 应用程序初始化:当应用程序启动时,Spring Boot会执行一些初始化操作,例如扫描注解、创建Bean、配置日志等。 7. 自动配置:Spring Boot根据应用程序的配置和依赖关系自动配置应用程序,例如数据库连接、Web服务器等。 8. 创建服务器:Spring Boot会创建一个嵌入式的服务器,例如Tomcat或Jetty,用于处理HTTP请求。 9. 处理请求:当收到HTTP请求时,服务器会将请求转发给相应的控制器类,并执行相应的处理方法。 10. 返回响应:控制器方法处理完请求后,会将处理结果封装为HTTP响应,并返回给客户端。 总之,Spring Boot启动流程可以简单概括为创建项目、配置应用程序、编写代码、构建项目、启动应用程序、初始化应用程序、自动配置应用程序、创建服务器、处理请求和返回响应。通过这个流程,可以快速开发并部署基于Spring Boot的应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值