spring boot自动装配

自动装配何时开始装配

在服务启动时 @SpringBootApplication 注解里面触发了EnableAutoConfiguration注解
然后开始自动装配。

Bean的注入 需要配置类
spring使用类似SPI的方式 写死配置类的位置和名称key 但是value具体待自动装配的配置类是变换的 可能是redisstarter tomcatstarter等等

import引入写死配置类 写死的配置类 当中有一核心的方法 可以根据spring factory 机上spring的上下文感知 变换的找到对应的value 将具体的自动装配类 找到 以数组的形式存储 就装入到了IOC 容器里

自动装配的流程 SpringBootApplication 中的 EnableAutoConfiguration 注解的作用是把 和组件相关的Bean 装配到IOC容器当中
在这里插入图片描述
他是如何做到把bean装配到IOC 容器的
猜想要做到两步1、扫描 2、存储
扫描谁来感知BEAN 如何扫描
扫描到之后用什么数据结构存储BEAN 放到容器
EnableAutoConfiguration 注解里面 含有注解Import注解
Spring会解析Import导入的配置类
在这里插入图片描述
在这里插入图片描述
spring 将import注解导入的配置类解析 把配置类放入selectImports以入参形式进行批量操作 扫描"META-INF/spring.factories" 下的文件看key=EnableAutoConfiguration 的数据 value是什么 然后有选择的装入IOC
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在手动创建starter的时候 要现在写死的位置 factory.properties把写死的key 对应的灵活的value 值写上自己新写的配置类

这样spring boot启动 注解 进enable 进 import进 配置类 进slect方法 扫描文件
发现enable对应的配置类 筛选后 进入IOC

进入容器之外还要对属性进行配置 将配置类和配置文件捆绑便于赋值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值