目录
1、ImportBeanDefinitionRegistrar接口
3、将ImportBeanDefinitionRegistrar添加到configurationClasses
4.2、loadBeanDefinitionsForConfigurationClass()逻辑
4.3、loadBeanDefinitionsFromRegistrars()逻辑
4.4、ImportBeanDefinitionRegistrar接口的registerBeanDefinitions()逻辑
一、前言
学过SpringCloud的都知道使用OpenFeign都要在SpringBoot启动类上面加上@EnableFeignClients这个注解,而这个注解内部也使用了@Import注解导入FeignClientsRegistrar.class,是ImportBeanDefinitionRegistrar的实现类。
那么会不会也跟前面讲解的SpringBoot自动装配一样呢?感觉是一样,又好像不一样,@EnableFeignClients是spring-cloud-openfeign提供的注解,里里外外都没有使用到SpringBoot的东西,但是用到了Spring的ImportBeanDefinitionRegistrar等接口。那么答案究竟是什么,下面将一一解开。
借用一下之前Bean定义注册流程图,具体的可自行去画一下。