@import注解的本质就是Bean,它快速导入的方式实现把实例加入spring的IOC容器中,交给Spring 进行统一管理操作。
注解的三种用法 1、直接填class数组方式@import({类名.class, 类名.class, 类名.class})
2、importSelector方式【重点】
public class MySelectimports implements importSelector {
@Override
public String[] selectimports(Annotationmetadata importingClassmetadata) {
return new String[]{"com.aop.openfeign.imbean.MyAopimportTwo"};Bean
}
}
3、importBeanDefinitionRegistrar方式(自定义方式注入Bean)
public class MyimportBeanDefinitionRegistrar implements importBeanDefinitionRegistrar {
@Override
public void registerBeanDefinitions(Annotationmetadata importingClassmetadata,
BeanDefinitionRegistry registry) {
//指定bean定义信息(包括bean的类型、作用域...)
RootBeanDefinition rootBeanDefinition = new RootBeanDefinition(MyAopimportThree.class);
//注册一个bean指定bean名字(id)
registry.registerBeanDefinition("MyAopimportThree",rootBeanDefinition);
}
}
以上三种方式将注册的Bean,最后统一交给Spring IOC进行管理操作。
@Configuration
@import({MyAopimport.class, MySelectimports.class, MyimportBeanDefinitionRegistrar.class})
public class MyimportConfig {
}
此时我们交给Spring的Bean直接使用即可!
欢迎大家关注我的微信公众账号:小鱼说编程


