Как @Autowired работает с параметризованными типами, которые не инициализированы? - PullRequest
0 голосов
/ 15 ноября 2018

Пример, который я рассматриваю, - KafkaTemplate.

KafkaTemplate автоматически подключается как KafkaTemplate.В конфигурации, которую я использую, создан ProducerFactory.Оба конструктора KafkaTemplate требуют использования этого вида фабрики.

Я хочу предположить, что любой новый экземпляр класса с автопроводкой использует Class.isAssignableFrom (Class), чтобы найти соответствующую зависимость для создания параметризованного экземпляра.

Примечание. Первоначальной причиной этого порожденного расследования является изменение поведения между автопроводкой в ​​KafkfaTemplate и KafkaTemplate (без типов).

Это предположение верно?Если это так, каков наилучший способ разработки аналогичной конфигурации?Есть ли причина использовать реализацию Kafka вместо интерфейса FactoryBean?

1 Ответ

0 голосов
/ 15 ноября 2018

Обратите внимание, что Autowired имеет обязательное свойство, которое можно использовать для пометки бина как необходимого

обязательны для заполнения Объявляет, требуется ли аннотированная зависимость.

@Autowired(required=true)
KafkaTemplate kafkaTemplate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...