舉一個小例子回答樓主的問題。 加入我要蓋一件小平房(做一個網站),我需要做的是: 1:買一塊地。(租一臺服務器)--1天 2:申請一個門牌號碼(買一個域名)--1天 3:買材料,請2、3個工人,開始蓋房(準備所需要的開發工具IDE什麼的,搭建測試環境,找2,3個程序員--剛畢業的大學生就可以了)。--1周 4:蓋房(敲代碼編程)--1到3個月。 5:房子蓋好了,東敲敲西敲敲看牢不牢固(自己測試一下功能都齊全了沒)--1周。 6:如果有問題,比方說臥室不夠透氣,把臥室的牆多開一扇窗戶(哪個頁面有問題,刪除重新寫一個)。比方說牆裏面的電線發現有問題,把牆鑿開,換一根電線。 6:完工。 總共耗時2-4個月左右。 現在我要蓋一棟大樓(開發一個企業級項目),本質上還是蓋房子,但是如果就像蓋小平房一樣的去做。結果是怎樣的呢? 蓋到18樓了,突然說5樓內測的電線堵住了,5樓以上都沒有點,於是得把5樓以上的全拆了,拆到5樓,把牆鑿開,把電線換一根,再繼續往上面蓋。 相信沒有哪棟大廈是這樣蓋出來的。 於是有了建築師(軟件架構師)這個職位,有了建築設計學(軟件架構學)這麼個說法。 蓋大樓,一開始的步驟是這樣的。 地還是要買,不過得做土地勘察,樣本採集,看地質如何。 然後得畫圖紙,這圖紙一畫就是很久,要考慮到整棟大樓的方方面面,哪些牆可以供拆除,就在裏面放電線水管什麼的。哪些是主力牆不能拆除。這裏賣弄的學問太多,筆者也無法弄清楚。 然後就是打地基。這也是相當重要的環節,地基沒打好,整個房子都不穩固。然後就是用鋼筋水泥等,打造整棟大樓的框架。讓房子非常堅固。 再後纔是逐步完善大樓內部,一層層的砌磚,一間間地粉刷,裝修。就算某一塊出了問題。去掉或者修復那一塊就行了,整棟大樓屹立不倒,穩穩當當。 企業級項目中,也是同安的過程。 先用UML建模,建立數據庫模型,項目的分層架構設計,使用框架讓整個項目健壯起來,動一處而不會牽動全身。 struts,spring,hibernate都是爲了讓項目更健壯而產生的。如果只是要做一個小網站,我覺得很沒有必要使用這些東西,就ASP,PHP一定能做得更快,就像蓋小平房一樣。就算要用Java,就用JSP+JavaBean就行了。如果是開發企業級項目,ASP和PHP是絕對不能跟J2EE相提並論的。 Struts是MVC框架,它的作用不是讓人能幹什麼(它能做的事JSP都能做),它的作用是不能讓人幹什麼。就好像,設計師要砌牆工人在哪裏砌磚,他就不能去別出砌一樣。給程序語言嚴格的規範,讓它按照規範走,不會隨心所欲地去編代碼。這樣可以保證項目的高度一致性。 Spring是J2EE輕量級框架。它的做法好比把項目分成一個個地組件,哪一塊出了問題,換掉那一塊就是了。別的地方根本不用動。就好像我剛剛舉的5樓電線出了問題,就在5樓把牆鑿開,換一個電線即可,不用擔心5樓的牆鑿開上面的會塌下來。 Hibernate是ORM工具,不能稱之爲框架,它至少至少有一個好處,在項目做移植數據庫的時候,不用切換數據庫層的代碼。當然它的好處很多。筆者在所有的開源技術中,也最鍾情對Hibernate的研究。 不過這些問題,都只有在很大的項目開發中纔會用到。所以如是是小項目開發,不建議使用J2EE.
轉載自百度知道:http://zhidao.baidu.com/question/30659246.html?qbl=relate_question_1&word=spring%20hibernate%20%C4%C7%B8%F6%BC%F2%B5%A5