Spring 构造函数自动连线是否适用于泛型集合类型



我创建了一个接口(kotlin(和一堆子类。我添加了@Component注释,以便 Spring 找到并将它们添加到 ApplicationContext 中。最后,我想将它们自动连接到另一个 bean 的构造函数中,但它不起作用:

interface EventTransformer<T> where T: Event { ..
@Component
class LoginEventTransformer: EventTransformer<Login> {
@Component
class FieldValueListRowMapper(transformers: List<EventTransformer<Event>>) { // autowires empty list

如果我重写我的接口并删除泛型类型参数,一切正常(见下文(。有什么方法可以让上面的通用设计工作吗?我更喜欢强打字。

interface EventTransformer { ..
@Component
class LoginEventTransformer: EventTransformer { ..
@Component
class FieldValueListRowMapper(transformers: List<EventTransformer>) { // works

如果 Login 扩展了 Event,请尝试以下操作:

@Component
class FieldValueListRowMapper(transformers: List<EventTransformer<? extends Event>>) 

相关内容

  • 没有找到相关文章