Работает ли Spring-конструктор с автоматическим подключением к универсальным типам коллекций? - PullRequest
0 голосов
/ 11 февраля 2019

Я создал интерфейс (kotlin) и несколько подклассов.Я добавил аннотацию @Component, чтобы Spring нашел и добавил их в ApplicationContext.Наконец, я хотел бы автоматически связать их с конструктором другого компонента, но он не работает:

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 голосов
/ 11 февраля 2019

Если Логин продлевает Событие, попробуйте это:

@Component
class FieldValueListRowMapper(transformers: List<EventTransformer<? extends Event>>) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...