@Import给容器注册组件有三种用法
第一种:@Import(组件类名.class),容器中会自动注册这个组件,id默认是全类名
该注解需要加载配置类上,有关配置类的创建,不懂得同学可以查看该篇文章
https://blog.csdn.net/zyh568902364/article/details/80198001
@Configuration
@Import({Color.class}) //导入组件
public class MainConfig2 {
}
此时,容器启动时会将Color的加载进来。
第二种:@ImportSelector:返回需要导入的组件的全类名数组。此时需要自己新建MyImportSelector类实现ImportSerlector接口,并将该类加入到@Import({MyImportSelector.class})中。MyImportSelector代码如下:
public class MyImportSelector implements ImportSelector{
//返回值:就是要导入到容器中的组件全类名
//AnnotationMetadata:当前标注@Import注解的类的所有注解信息
public String[] selectImports(AnnotationMetadata importingClassMetadata) {
//不能返回null
//自己定义需要返回的数组信息
return new S