Вы смешиваете свои концепции здесь.Вы используете @Component
и @Autowired
для bean-компонентов, управляемых Spring, и @ModelAttribute
для временных, одноразовых объектов, которые используются для связывания данных формы.Два не должны быть смешаны.Spring аннулирует ваши аннотации @Component
и @Autowired
в RegistrationForm
, поскольку они не подходят в этом контексте.
Классы, подобные RegistrationForm
, должны представлять данные формы, и ничего более.Обычно контроллер запрашивает у пользователя RegistrationForm
идентификатор пользователя и затем просматривает фактический объект User
из самого DAO.Если вы хотите, чтобы RegistrationForm
посмотрел сам User
, то ваш контроллер должен вручную предоставить DAO для RegistrationForm
, когда он запрашивает объект User
.
Насколько это сообщение наВесенний форум обеспокоен, вы заметите, что он так и не получил ответа.Это не хороший источник вдохновения.
Обратите внимание, что я не говорю, что желание автоматически связывать бины в объект формы назад - плохая идея, я просто говорю, что Spring этого не делает.