我们正在开发基于Spring 3.0.5的基于Web MVC的应用程序。在我们的代码中,我们经常这样做:Spring Web MVC和新的bean
@ModelAttribute(ModelKeys.SOME_BEAN)
public SomeBean newSomeBean() {
return new SomeBean();
}
我认为这不是必需的。但如果真的没有,那么我想知道这是如何设法通过这么多的代码评论?在我的理解中,如果一个控制器方法需要一个NEW SomeBean,那么使用@ModelAttribute在该方法中注释一个参数应该足够了?那么Spring会使用默认的构造函数来新建立所需的bean用于调用控制器的方法,如:
@RequestMapping(method = RequestMethod.POST)
public String doIt(
@ModelAttribute(ModelKeys.SOME_BEAN) final SomeBean bean,
final BindingResult bindingResult)
{
...
}
这里,春天不会新兴起来的SomeBean的实例,并尝试将数据绑定到它从发布的数据, 对?没有必要像第一个代码片段中所示的方法?请你确认一下,或者给我提供你的想法?如果我只是继续前进并删除所有这些除了新建空白bean之外什么都不做的方法,我是否会冒风险?
是否有可能当前代码的工作方式是在早期版本的spring 2.5.6中正确建立的,现在使用spring 3.0.5还有更简洁的新方法一样的东西?在这种情况下,我可以想到很多例子,但在这个特例中我并不积极。 – Kevin 2011-06-02 14:08:43
是的,其实很可能。我在其他各个领域也看到很多旧的做法。很可能这种代码在Spring的早期版本中是必需的...... – 2011-06-02 17:13:27