Автопроводка всех бобов универсального класса - PullRequest
1 голос
/ 30 сентября 2019

У меня есть следующая иерархия классов:

public class Base {}
public class A extends Base {}
public class B extends Base {}

public class MyClassDefinition<T extends Base>  {}

Затем я создаю пару бинов MyClassDefinition в классе @Configuration:

@Configuration
public class MyConfiguration {

    @Bean
    public MyClassDefinition<A> aMyClassDefinition {
        return new MyClassDefinition<A>();
    }

    @Bean
    public MyClassDefinition<B> aMyClassDefinition {
        return new MyClassDefinition<B>();
    }
} 

Теперь мне нужно получитьсписок всех MyClassDefinition<T extends Base> бобов:

public class SomeClass {

    @Autowired
    private Map<String, MyClassDefinition<Base>> definitions;

}

К сожалению, это не работает, и выдается исключение:

No qualifying bean of type 'java.util.Map<String, MyClassDefinition<Base>>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

Есть идеи, что не так?

...