scanf
оставляет пробел во входном буфере, включая символы новой строки. Чтобы использовать fgets для чтения следующей строки, вам нужно вручную удалить оставшуюся часть текущей строки:
int c; do {c = getchar (); } while (c! = EOF & amp; c! = '\n');
Autowiring (ссылка из комментария Dunes) происходит после построения объекта. Поэтому они не будут установлены до завершения конструктора.
Если вам нужно запустить некоторый код инициализации, вы сможете вывести код в конструкторе в метод и аннотировать этот метод с помощью @PostConstruct
.
Чтобы иметь зависимости, введенные во время построения, вам нужно, чтобы ваш конструктор был помечен аннотацией @Autowired
.
@Autowired
public DocumentManager(IApplicationProperties applicationProperties) {
this.applicationProperties = applicationProperties;
startOOServer();
}