У меня есть следующая иерархия классов:
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)}
Есть идеи, что не так?