Мы работаем над приложением Spring 3.0.5 Web MVC. В нашем коде мы довольно часто делаем что-то вроде этого:
@ModelAttribute(ModelKeys.SOME_BEAN)
public SomeBean newSomeBean() {
return new SomeBean();
}
Я думаю, что в этом нет необходимости. Но если это действительно не так, то мне интересно, как это удалось проскользнуть через столько обзоров кода? В моем понимании, если метод контроллера хотел NEW SomeBean, тогда достаточно будет аннотировать параметр в этом методе с помощью @ModelAttribute? Затем Spring будет использовать конструктор по умолчанию для создания нового необходимого компонента для вызова метода контроллера, например ::10000
@RequestMapping(method = RequestMethod.POST)
public String doIt(
@ModelAttribute(ModelKeys.SOME_BEAN) final SomeBean bean,
final BindingResult bindingResult)
{
...
}
здесь, Spring запустит экземпляр SomeBean и попытается привязать к нему данные из данных POST, верно? Нет необходимости в методе, как показано в первом фрагменте кода? Пожалуйста, вы можете подтвердить это или высказать свое мнение по этому поводу? Буду ли я вводить риск, если я просто продолжу и уберу все эти методы, которые не делают ничего, кроме нового для пустого компонента?