Spring Boot создает экземпляр класса, передавая параметры конструктору - PullRequest
0 голосов
/ 23 апреля 2019

В Spring Boot у меня есть класс, для которого я хочу создать экземпляр, передав параметры в конструктор во время выполнения. Я могу сделать это, но все свойства AutoWire имеют значение null, и PostConstruct не вызывается.

Constructor<KafkaController> constructorsA[] = (Constructor<KafkaController>[]) KafkaController.class.getConstructors();
KafkaController kafkaObject = constructorsA[0].newInstance(new Object[] { "1", "2" });

Это класс, о котором идет речь

@Component
public class KafkaController {

private KafkaConsumer<String, String> consumer;

@Autowired
private Util sentinelUtil;

final String subscriberID;
final String interactionID;

@Autowired
public KafkaController(@Value("") String subscriberID, @Value("") String interactionID) {
    this.subscriberID = subscriberID;
    this.interactionID = interactionID;
}

@PostConstruct
private void initKafka() {

}

}

Нужно ли создавать экземпляр класса другим методом?

...