Вам, вероятно, следует ввести токен типа в качестве параметра метода.Вы не сможете получить T
информацию, так как она стерта во время компиляции.
@Bean
public ConsumerFactory<String, String> newStringConsumerFactory() {
return newConsumerFactory(String.class);
}
private <T> ConsumerFactory <String, T> newConsumerFactory(Class<T> t) {
return new DefaultKafkaConsumerFactory<>(consumerConfigs(),
new StringDeserializer(),
new JsonDeserializer<>(t, objectMapper)
);
}
Вы можете попробовать копаться в отражении и Method.getGenericParameterTypes()
, но это не делает @Configuration
читабельно.Подробность и соблюдение стандартов здесь важны, так как большинство IDE поддерживают конфигурацию Spring и автоматические подсказки