springboot执行流程(springboot程序怎么运行)
- 软件开发
- 2023-08-13
- 209
本篇文章给大家谈谈springboot执行流程,以及springboot程序怎么运行对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望...
本篇文章给大家谈谈springboot执行流程,以及springboot程序怎么运行对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
SpringBoot究竟是如何跑起来的
如果我们使用的是SpringApplication的静态run方法,那么,这个方法里面首先要创建一个SpringApplication对象实例,然后调用这个创建好的SpringApplication的实例方法。在SpringApplication实例初始化的时候,它会提前做几件事情:
根据classpath里面是否存在某个特征类(org.springframework.web.context.ConfigurableWebApplicationContext)来决定是否应该创建一个为Web应用使用的ApplicationContext类型。
使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationContextInitializer。
使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationListener。
推断并设置main方法的定义类。
2)SpringApplication实例初始化完成并且完成设置后,就开始执行run方法的逻辑了,方法执行伊始,首先遍历执行所有通过SpringFactoriesLoader可以查找到并加载的SpringApplicationRunListener。调用它们的started()方法,告诉这些SpringApplicationRunListener,“嘿,SpringBoot应用要开始执行咯!”。
3)创建并配置当前SpringBoot应用将要使用的Environment(包括配置要使用的PropertySource以及Profile)。
4)遍历调用所有SpringApplicationRunListener的environmentPrepared()的方法,告诉他们:“当前SpringBoot应用使用的Environment准备好了咯!”。
5)如果SpringApplication的showBanner属性被设置为true,则打印banner。
6)根据用户是否明确设置了applicationContextClass类型以及初始化阶段的推断结果,决定该为当前SpringBoot应用创建什么类型的ApplicationContext并创建完成,然后根据条件决定是否添加ShutdownHook,决定是否使用自定义的BeanNameGenerator,决定是否使用自定义的ResourceLoader,当然,最重要的,将之前准备好的Environment设置给创建好的ApplicationContext使用。
7)ApplicationContext创建好之后,SpringApplication会再次借助Spring-FactoriesLoader,查找并加载classpath中所有可用的ApplicationContext-Initializer,然后遍历调用这些ApplicationContextInitializer的initialize(applicationContext)方法来对已经创建好的ApplicationContext进行进一步的处理。
8)遍历调用所有SpringApplicationRunListener的contextPrepared()方法。
9)最核心的一步,将之前通过@EnableAutoConfiguration获取的所有配置以及其他形式的IoC容器配置加载到已经准备完毕的ApplicationContext。
10)遍历调用所有SpringApplicationRunListener的contextLoaded()方法。
11)调用ApplicationContext的refresh()方法,完成IoC容器可用的最后一道工序。
12)查找当前ApplicationContext中是否注册有CommandLineRunner,如果有,则遍历执行它们。
13)正常情况下,遍历执行SpringApplicationRunListener的finished()方法、(如果整个过程出现异常,则依然调用所有SpringApplicationRunListener的finished()方法,只不过这种情况下会将异常信息一并传入处理)
springboot启动原理流程
SpringBoot是SpringFramework的一个扩展,它简化了Spring应用程序的开发和部署流程,并提供了一种快速创建可独立运行Spring应用程序的方式。下面是SpringBoot启动原理的简单流程:
1.启动类(MainClass)的加载
SpringBoot应用程序的启动类是一个Java类,其中包含了main()方法,它是整个应用程序的入口。在启动过程中,Java虚拟机(JVM)会首先加载该类。
2.SpringBoot环境的准备
在启动类加载完成后,SpringBoot会在应用程序的classpath中查找application.properties或application.yml文件,读取其中的配置信息,然后初始化Spring环境并创建ApplicationContext对象。此外,SpringBoot还会自动扫描所有带有注解的类,并将它们注册到Spring容器中。
3.SpringBoot的自动配置
SpringBoot具有一套智能的自动配置机制,可以根据应用程序所使用的依赖库和配置文件自动配置SpringBean。例如,如果应用程序中引入了Hibernate,SpringBoot会根据Hibernate的依赖信息自动配置一个SessionFactoryBean。这样,开发人员就无需手动配置这些Bean,可以更加专注于业务逻辑的实现。
4.SpringApplication的启动
当SpringBoot环境准备好之后,就会创建一个SpringApplication对象。该对象负责启动SpringBoot应用程序,并将所有Bean注册到Spring容器中。它还可以接收并处理控制台命令行参数,以及在应用程序启动和关闭时执行一些回调方法。
5.实例化Web容器
如果应用程序是一个Web应用程序,则SpringBoot会自动实例化嵌入式Web服务器,如Tomcat、Jetty或Undertow等。SpringBoot将创建WebServer对象,并将所有Servlet、Filter和Listener注册到其中。最后,Web容器会启动,并开始监听来自客户端的HTTP请求。如果应用程序不是Web应用程序,则这一步可以略过。
6.应用程序启动完成
当Web容器启动之后,应用程序就开始监听来自客户端的HTTP请求,并根据配置文件中的路由规则进行处理。此时,应用程序已经启动完成,并可以提供相关的服务。如果应用程序需要结束,可以通过调用SpringApplication对象的close()方法来关闭Spring容器和Web容器并释放资源。
以上就是SpringBoot启动原理的基本流程,整个过程涉及到了多个组件和技术点,包括Java虚拟机、SpringFramework、Web容器等。了解这些原理可以帮助开发者更好地理解和使用SpringBoot。
如何启动springboot
启动SpringBoot项目的方式有以下几种:
1.通过IDE启动:在IDE中打开项目,找到入口类,右键点击运行即可。不同的IDE启动方式可能略有不同,可以参考相应的文档。
2.通过命令行启动:在项目的根目录下,使用命令行输入`mvnspring-boot:run`或`./gradlewbootRun`即可启动项目。需要确保已经安装了Maven或Gradle,且配置了相应的环境变量。
3.打包部署:使用Maven或Gradle打包项目,生成可执行的JAR包或WAR包,然后通过命令行启动。执行命令:`java-jaryour-project.jar`,即可启动项目。需要注意的是,使用该方式启动项目时,需要确保已经安装了Java运行环境,并配置了相应的环境变量。
以上是启动SpringBoot项目的几种常见方式,选择哪种方式启动视具体情况而定。
xhell部署项目后如何启动springboot项目
在xhell部署项目后,可以通过以下步骤启动springboot项目:
首先,进入项目所在目录,使用命令行工具执行“java-jar项目名称.jar”命令,启动项目;
其次,等待项目启动完成后,在浏览器中输入“http://localhost:8080”访问项目。如果需要后台运行项目,可以使用nohup命令将项目放到后台运行。
spring boot菜鸟教程
SpringBoot菜鸟教程:
1、SpringBoot基础:了解SpringBoot的技术架构,SpringBoot的核心功能,SpringBoot的应用场景,以及如何使用SpringBoot开发应用程序。
2、SpringBoot快速入门:学习如何使用SpringInitializr创建SpringBoot应用程序,设置SpringBoot项目的基本设置,以及SpringBoot应用程序的基本功能。
3、SpringBoot组件:学习SpringBoot的核心组件,如spring-boot-starter,spring-boot-autoconfigure,spring-boot-actuator等等,以及如何使用它们。
4、SpringBoot开发技巧:学习如何在SpringBoot应用程序中使用SpringBoot的高级功能,比如热部署,自定义配置,日志管理等等。
5、SpringBoot运行环境:了解SpringBoot的运行环境,如何配置SpringBoot应用程序,如何将SpringBoot应用程序部署到生产环境,以及如何在生产环境中运行SpringBoot应用程序。
springboot数据统计表怎么做
在SpringBoot中实现数据统计表可以按以下步骤进行:1.创建实体类:创建一个表示数据统计的实体类,通过注解定义实体类的属性和表结构。2.创建数据访问层(DAO):使用JPA或MyBatis等框架,创建一个数据访问层的接口和实现类,用于对数据进行统计和查询操作。3.创建服务层(Service):创建一个服务层的接口和实现类,处理业务逻辑,调用数据访问层进行数据统计。4.创建控制器层(Controller):创建一个控制器类,处理HTTP请求和响应,调用服务层进行数据统计的处理,并返回统计结果给前端。5.创建前端页面:在前端页面中使用相应的图表插件(如echarts、highcharts)展示数据统计的结果,通过ajax请求后端获取数据并展示到图表中。6.配置路由和视图解析器:在SpringBoot的配置文件中配置路由,将请求映射到对应的控制器方法,然后配置视图解析器,将控制器返回的数据渲染到前端页面。7.运行项目:启动SpringBoot项目,通过访问前端页面,在页面上展示数据统计的结果。以上是实现SpringBoot数据统计表的一般步骤,具体根据项目需求和框架选择可能有所不同。
OK,本文到此结束,希望对大家有所帮助。
本文链接:http://www.xinin56.com/ruanjian/102.html
下一篇:免费一键搭建发卡网 发卡网平台