Java配置而不是@ComponentScan

时间:2017-12-05 08:18:23

标签: java spring

有没有办法创建与@ComponentScan(basePackageClasses = {X.class})完全相同的基于Java的配置类?

我必须创建通用配置类(用于在测试中扩展),执行类似的操作:

@Configuration
@ComponentScan(basePackageClasses = T.class)
public class EndpointTestConfig<T> {
}

使用带有注释的泛型是不可能的,所以使用Java需要相同的效果。

1 个答案:

答案 0 :(得分:0)

我不确定你到底要做的是什么。如果我理解正确你有一个基类T和很多派生类?并且您希望有一个基本配置来创建公共bean,每个扩展器都会创建一个扩展T的类的bean?所以你可以这样做:

@Configuration
public class BaseTestConfig {
  //common beans
}

@Configuration
@Import(BaseTestConfig.class)
public class ConcreteEndpointConfig {

  @Bean
  public YourDerivedClass bean() {
    return new YourDerivedClass();
  }
}

我希望我明白了。如果这不是您所需要的,请详细说明。