pringBoot自动装配原理及分析
通过注解@SpringBootApplication=>@EnableAutoConfiguration=>@Import({AutoConfigurationImportSelector.class})实现自动装配
2)AutoConfigurationImportSelector类中重写了ImportSelector中selectImports方法,批量返回需要装配的配置类
3)通过Spring提供的SpringFactoriesLoader机制,扫描classpath下的META-INF/spring.factories文件,读取需要自动装配的配置类
4)依据条件筛选的方式,把不符合的配置类移除掉,最终完成自动装配
https://baijiahao.baidu.com/s?id=1725265949551075777&wfr=spider&for=pc
什么是自动装配
在使用SpringBoot的时候,会自动将Bean装配到IoC容器中。例如我们在使用Redis数据库的时候,会引入依赖spring-boot-starter-data-redis(成为启动器)。在引入这个依赖后,服务初始化的时候,会将操作Redis需要的组件注入到IoC容器中进行后续使用
自动装配大致过程如下:
- 获取到组件(例如spring-boot-starter-data-redis)META-INF文件夹下的spring.factories文件
- spring.factories文件中列出需要注入IoC容器的类
- 将实体类注入到IoC容器中进行使用
https://baijiahao.baidu.com/s?id=1725265949551075777&wfr=spider&for=pc
什么是ioc容器
IoC容器的概念
IoC容器就是具有依赖注入功能的容器,IoC具有负责实例化,定位,配置应用程序中的对象及建立这些对象之间的依赖。应用程序无需直接new相关对象,应用程序通过IoC容器进行组装。在Spring中IoC容器实际代表者是BeanFactory。
IoC容器怎么知道他管理那些对象,这就需要配置文件告诉他了。一般使用xml配置文件进行配置元数据,Spring IoC容器通过读取配置文件进行应用中各个对象实例化及装配。Spring与配置文件是完全解耦的,可以使用其他方式配置元数据,可以是注解、基于Java文件等。说到现在,Spring管理的对象叫什么呢?这是下一个需要介绍的——Bean
Bean的概念
由IoC容器管理的组成应用程序的那些对象就叫做Bean,Bean是由Spring容器初始化、装配及管理的对象,除此以外,与应用程序中的其他对象没有什么区别。Spring是通过配置元数据进行Bean的实例化,管理Bean之间的依赖关系以及管理Bean。
原文链接:https://blog.csdn.net/weixin_41676282/article/details/90743425
标签:装配,容器,spring,学习,Bean,Spring,IoC From: https://www.cnblogs.com/rokkie2021/p/16632911.html