java - 自动装配泛型类的所有bean
问题描述
我有以下类层次结构:
public class Base {}
public class A extends Base {}
public class B extends Base {}
public class MyClassDefinition<T extends Base> {}
然后我MyClassDefinition
在一个@Configuration
类中创建几个bean:
@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>
bean 的列表:
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)}
有什么想法有什么问题吗?
解决方案
推荐阅读
- https - 为 Asp.net core web api 启用 HTTPS 安全连接
- e4 - 构建 RCP 应用程序没有运行生命周期管理器
- python - Python:在不同长度的视频中提取“n”帧
- selenium - Selenium - IE 驱动程序:单击 js 中定义的链接,_blank 什么都不做
- excel - Excel:在不同列上排序时如何将单元格保持在一起
- javascript - 受控/非受控输入
- asp.net-mvc - 通过 EF6 和 LINQ 从 Oracle DB 接收相关实体
- html - Bind service property to a controller AngularJS
- excel - CK13N 事务使用 VBA 从 GuiTree 表字段中读取文本
- android - 加密存储在 Firebase 数据库中的聊天消息