SpringBoot自动装载流程
比如加载Redis
- pom配置对应的Starter jar包
- 扫描jar包中必然存在@Configuration注解和XXConfiguration类;不管任何插件都会存在该配置类(注入IOC容器)
- 通过Spring的装载接口进行对Bean动态装载
SpringBoot的动态Bean的加载
- importSelector
实现importSelector接口对意义是告诉Spring引擎配置类在哪里。
实现类配置类,那如何怎样使用?
有两种方式,一种是自定义注解,第二种是实现ImportBeanDefinitionRegistrar接口
一、 实现自定义注解
在自定义注解类中增加@Import进行指定加载importSelector接口的实现类,然后在启动类中加上自定义注解。这样在 Spring启动的时候就能把Bean装载到IOC容器中。 - Registator
Spring动态装载是通过实现两个接口其中一个实现,根据上下文或加载条件进行装载;
核心:
启动的时候通过某种机制扫描到类则会加载到容器当中
Spring标准/规范
classpath:MET_INF/spring.factories文件
所有starter组件都有一个配置类,在启动的时候通过(Spring标准/规划)去扫描文件中的配置类,即装载组件到Spring容器当中。
自动装配原理
总结:在启动类时,通过@Sp