Spring构造函数自动装配是否适用于通用集合类型

时间:2019-02-11 09:00:12

标签: spring spring-boot kotlin

我创建了一个接口(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

1 个答案:

答案 0 :(得分:1)

如果“登录”扩展了“事件”,请尝试以下操作:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'X-CMC_PRO_API_KEY:API_SECRET'
));