Java 使用Spring注释有条件地导入类

Java 使用Spring注释有条件地导入类,java,spring,spring-annotations,Java,Spring,Spring Annotations,我必须在Spring的配置类中有条件地导入类。因此有3个带有@Configuration注释的配置类: @Configuration public SubClass1 { ... } @Configuration public SubClass2 { ... } @Configuration // something like this: @Import(if (flag) 'SubClass1.class' else 'SubClass2.class') public Main

我必须在Spring的配置类中有条件地导入类。因此有3个带有
@Configuration
注释的配置类:

@Configuration
public SubClass1 {
   ...
}

@Configuration
public SubClass2 {
   ...
}

@Configuration
// something like this: @Import(if (flag) 'SubClass1.class' else 'SubClass2.class')
public MainClass1 {
   ...
}
是否可以通过
@import
注释有条件地导入类?或者我必须导入所有类吗?

根据,
@import
注释的
元素必须是
对象的数组

value

public abstract Class<?>[] value

The @Configuration, ImportSelector 
and/or ImportBeanDefinitionRegistrar classes to import.
值
公共抽象类[]值
@Configuration,ImportSelector
和/或导入要导入的定义注册器类。
因此,不能使用
@import
注释创建SpEL语句来有条件地导入资源

最接近有条件导入资源的方法是使用