Java 以编程方式使用泛型参数注册Springbean

Java 以编程方式使用泛型参数注册Springbean,java,spring,generics,Java,Spring,Generics,假设我有一些抽象的泛型类: public abstract class AbstractExampleService<T extends Foo> { // some logic around T } 公共抽象类AbstractExampleService{ //关于T的一些逻辑 } 此外,我还有该类的x个实现,如: @Component public class FirstExampleService extends AbstractExampleService<

假设我有一些抽象的泛型类:

public abstract class AbstractExampleService<T extends Foo> {
    // some logic around T
}
公共抽象类AbstractExampleService{
//关于T的一些逻辑
}
此外,我还有该类的x个实现,如:

@Component
public class FirstExampleService extends AbstractExampleService<FirstExample>{
}
@组件
公共类FirstExampleService扩展了AbstractExampleService{
}
到目前为止还不错

但是正如您所看到的,在实现的类中没有逻辑,所以我想编写一些基础结构代码来代替这个实现

我想在应用程序启动时注册x实现:

@Configuration
public class Config {
    @Autowired
    private List<Foo> fooList;

    @Autowired
    private AutowireCapableBeanFactory beanFactory;

    public void initServiceBeans(){
        for (Foo foo : fooList) {
            Class<? extends Foo> aClass = foo.getClass();
            registerGenericService(AbstractExampleService.class, aClass, aClass.getSimpleName() + "Service");

        }
    }

    private void registerGenericService(Class<?> parentClass, Class<? extends Foo> genericArgument, String beanName){
        // How to implement it????
    }
}
@配置
公共类配置{
@自动连线
私人名单傻瓜;
@自动连线
私人自动布线beanFactory beanFactory;
public-void initServiceBeans(){
对于(Foo-Foo:傻瓜){
等级