目录
ImportSelector接口使用
作用:实现该接口的类,需要返回String[],使用@Import(),数组中的对象名将作为对象生成为bean。
// ImportSelector.class
package org.springframework.context.annotation;
import org.springframework.core.type.AnnotationMetadata;
public interface ImportSelector {
String[] selectImports(AnnotationMetadata var1);
}
实现接口
public class TestImportSelector implements ImportSelector {
@Override
public String[] selectImports(AnnotationMetadata annotationMetadata) {
return new String[]{
A.class.getName(),
B.class.getName()
};
}
}
接着可以在 @Configuration配置的类
或 定义注解的地方
进行@Import({TestImportSelector.class})
这样就可以把A,B都定义为bean。如:
在@Configuration处配置
@Configuration
@Import({TestImportSelector.class})
public class HelloConfiguration {
}
在定义注解的地方,当使用@EnableTest时,就会定义A,B为bean。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({TestImportSelector.class})
public @interface EnableTest {
}
ImportSelector介绍