我們正在開發基於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