2010-05-21 128 views
3

場景:一個相當成熟的項目使用Struts2和Spring以及Hibernate。我說成熟是因爲它已經進行了一段時間,並且已經有很多struts操作。從Struts2遷移到Spring MVC

假設我們想從項目中移除Struts2,而完全依賴Spring MVC而不重寫整個項目。

這是應該考慮的東西嗎? 有沒有任何移民指南? 有沒有人曾經這樣做過,並想警告我反對它?

+0

您可以一次移植項目的一部分嗎?你的應用程序耦合程度如何? – 2010-05-21 15:41:47

+0

@Dean J我大概可以做到這一點,但是如果我們首先考慮的更大問題仍然籠罩在我的頭上。 – 2010-05-21 16:15:29

+0

我沒有使用Spring MVC的經驗,但我認爲它與Struts2的相似之處(以及相對的優勢和缺點)可以證明這種遷移工作的合理性。 – leonbloy 2010-05-21 16:43:58

回答

9

如果沒有損壞,請不要修復它。與遷移相比,您可能會做出更好的事情,從而不會爲產品增加任何價值(並且肯定會引入一些錯誤)。如果我是企業,我永遠不會購買這樣的遷移(幾乎沒有任何好處)。

1

你可以慢慢做。 Struts是一個MVC框架。應用程序的其餘部分(業務層和數據層)是可以由操作類調用的類。 Struts是一個基於插件的架構,您可以很容易地在struts配置文件中定義一個插件。

看看this link。這可能有幫助。

1

我不得不問:你看到Spring MVC沒有被Struts 2實現的優點嗎?
如果至少沒有少數「吸熱」功能,或者節省的時間量足以克服首次遷移所需的時間,那麼最好堅持使用現有的功能。

+1

這確實是一個假設性問題。我認爲你是對的,我們可以用Struts2來做所有事情,而且我們實際上已經在使用Spring來進行依賴注入了。我只是想知道是否有必要使用兩者或者更好的方式去除struts並使用Spring。 – 2010-05-22 05:39:31

+0

我明白你的好奇心,我在Struts-2上有一段時間的項目,如果一個不同的框架會使得更容易/更優雅/更有趣,我也會奇怪。 :-)也許值得創建一個分支機構,花幾個小時移動一個小子集來看看結果如何。最糟糕的情況是你會對Spring MVC更熟悉一些。 – 2010-05-22 15:26:06

1

隨着Struts2安全漏洞的暴露和頻繁報告,這個任務變得更加重要。