@Autowired如何与未初始化的参数化类型一起使用?

时间:2018-11-15 14:04:58

标签: spring dependency-injection

我正在查看的示例是KafkaTemplate。

KafkaTemplate自动连接为KafkaTemplate。 我使用的配置已创建了ProducerFactory。 KafkaTemplate的两个构造函数都需要使用这种工厂。

我想猜测一个自动连接的类的新实例正在使用Class.isAssignableFrom(Class)来查找用于创建参数化实例的适当依赖项。

注意:产生此调查的最初原因是KafkfaTemplate中的自动装配与KafkaTemplate(无类型)之间的行为更改。

这个假设正确吗? 如果是这样,设计类似配置的最佳方法是什么? 是否有理由使用Kafka的实现而不是使用接口“ FactoryBean”?

1 个答案:

答案 0 :(得分:0)

请注意,Autowired具有必填属性,可以用来将bean标记为必填

  

必填   声明是否需要带注释的依赖项。

@Autowired(required=true)
KafkaTemplate kafkaTemplate