spring启动?

网友投稿 170 2024-01-10


Spring启动流程(一)

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

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

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

springboot项目会启动一个进程吗

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

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

入口是一个main方法,这个main方法里面new一个SpringApplication对象,传入bean源,就是注解了SpringBootApplication 的那个类,调用run方法。

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

一个服务器。在传统的单服务架构中,Spring Boot项目不需要像传统的Spring应用一样打成WAR包的形式部署到Tomcat、Jetty或Undertow服务器中,springboot项目运行了一个服务器,只有一个服务器,那么不存在 Session 共享问题。

springboot启动不是bean最终的版本

配置bean的源,就是bean的来源,就是注解了SpringBootApplication的那个类。推断,推断应用类型,有webflux,webservlet,none 推断主类,这个是通过线程堆栈实现,构造一个运行时异常,找异常堆栈里面找mian所在的那个类。

在SpringBoot刷新容器,调用所有BeanFactoryPostProcessors时,对BeanDefinitionRegistryPostProcessor,会去调用其postProcessBeanDefinitionRegistry方法。至此,便将ServiceBean注册进了Spring IOC容器。

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

于是MybatisPlusAutoConfiguration会被框架发现,这个类通过@Configuration注解可以作为config类被spring纳入,类中框架作者声明的一些@Bean可以作为默认配置生效,效果同自己在application-context中配置。

如果符合条件,Spring Boot就会自动创建Bean并注入到容器中,完成自动配置的过程。这样,应用就可以在不需要手动编写配置的情况下,快速地完成常见的功能配置,提高开发效率。

创建异常解析器,用在启动中发生异常的时候进行异常处理(包括记录日志、释放资源等)。

SpringBoot的启动过程及部分注解

1、springboot启动流程如下:启动流程主要分为三个部分,第一部分进行、SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块。

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

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

4、启动程序,以 main 方法启动:打印出正确的结果。来分析一下流程,为何 Runnable 类, User , Map 会纳入spring容器。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何在安卓13上安装32位app(ios13怎么安装32位软件)
下一篇:springbean是单例还是多例?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~