当前位置:首页 > 科技 > 正文

springboot原理解析,springboot原理流程

springboot原理解析,springboot原理流程

springboot的自动装配原理,如何实现按需加载? 1、通过selectImports方法,取到spring.factories文件下的一系列类名,随后将这些类自动...

springboot的自动装配原理,如何实现按需加载?

1、通过selectImports方法,取到spring.factories文件下的一系列类名,随后将这些类自动加载至IOC容器中。

2、首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

3、@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

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

5、SpringBoot在启动中会找到Path下面的所有spring.factories文件,并使用SpringFactoriesLoader将文件加载解析为K,V的形式。在按照key分发至对应的扩展点,将配置的value(就是class全路径)加载解析到Spring中,实现SPI。

springboot自动配置原理

Spring Boot 的自动装配原理主要依赖于 Spring 框架提供的 @Configuration、@ComponentScan 和 @Conditional 等注解,配合 Spring Boot 提供的 @EnableAutoConfiguration 和 spring.factories 配置文件,来实现自动装配的功能。

默认的byName自动装配:当一个bean的属性名称与其他bean的id相同时,Spring会自动将该bean引用到这些同名的bean中去。

SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。

springboot启动流程

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

当我们运行SpringApplication的main方法时,调用静态方法run()首先是实例化,SpringApplication初始化的时候主要做主要做三件事:根据classpath下是否存在(ConfigurableWebApplicationContext)判断是否要启动一个webapplicationContext。

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

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

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

SpringBoot启动原理分析

1、初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

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

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

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

最新文章