Добрый день
Подскажите, пожалуйста, как реализовать фабричный метод в Spring boot.
На примере ниже показан метод, который создает одну из реализаций интерфейса State
public State getState(Long chatId) throws NoSuchMethodException,
IllegalAccessException, InvocationTargetException, InstantiationException {
ChatState chatState = getChatState(chatId);
DescriptorDto dto = getDescriptorByChat(chatState);
State state = this.getStateClass(dto).getDeclaredConstructor(String.class, String.class,
String.class, String.class, List.class)
.newInstance(dto.getState(), dto.getNextState(),
dto.getText(), dto.getErrorState(), null);
return state;
}
Проблема в том, что некоторые реализации этого интерфейса требуют обращения к другим компонентам спринга.
Так как тут простой конструктор, то у меня нет возможности к ним обратиться(или в самом конструкторе всем классам передавать какой-нибудь сервис по умолчанию)
Подскажите. что делать?