Spring注解系列八:组件注册-ImportSelector

转:https://blog.csdn.net/lizhiqiang1217/article/details/89949542

1、MainConfig2

@Configuration
//ImportSelector:返回需要导入的组件的全类名数组;
@Import(MyImportSelector.class)
public class MainConfig2 {

}

2、自定义需要导入的组件MyImportSelector 。实现ImportSelector 接口

//自定义逻辑返回需要导入的组件
public class MyImportSelector implements ImportSelector {

    //返回值,就是到导入到容器中的组件全类名
    //AnnotationMetadata:当前标注@Import注解的类的所有注解信息
    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        // TODO Auto-generated method stub
        //方法不要返回null值
        return new String[]{"com.atguigu.bean.Color","com.atguigu.bean.Red"};
    }
}

3、测试

@Test
public void testImportSelector(){
    AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class);
    String[] definitionNames = applicationContext.getBeanDefinitionNames();
    for (String name : definitionNames) {
        System.out.println(name);
    }
}   

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。