struts,spring,hibernate淺談–我之理解

來源:互聯網
上載者:User

這三個架構在國內國外都特別流行,學習這三個架構半年有餘,寫心得於此

首先得搞清楚這三個東西是三個架構.它們並不是用來直接解決某些問題的函數庫,它們只是把一些現有的知識,技術進行了某種程式上的封裝,達到某種效果,也許這種效果是你想要的,也許並不是,所以並不是它們是萬油金,它們在很多場合都能用,但不是所有場合都能用.

1.struts

        struts會WEB層進行了封裝,對資源進行了集中處理,它最大的特點就是它的設定檔.用struts進行開發其實並不能降低開發難度,相反,還可能加大.但後其的維護,其它人看這個程式時條理會更清查.看struts設定檔就能看清晰的瞭解到程式的脈絡.struts的思想就是MVC,實現今代碼與介面的分離.現在的struts包含的東西也比較多了,現不是每樣都值得學習,struts的標籤之類的東西完全沒必要,美其曰是使介面更簡潔,但要記住怎麼使用這些標籤並不是一件簡單的事.struts中是實現了一種思想,你要實現這種思想沒必要一定要用struts,用servlet+jsp一樣可以實現mvc,而且如果項目比較小的話,效率更高.學了struts,只要記住一個東西就是了--MVC,struts的原始碼並不複雜,看看原始碼能更清楚的瞭解它的思想.

2.spring

        spring的核心就IOC和AOP,在SPRING的整個原始碼包裡面,這兩個思想總是混合著用的,目的就是解耦,IOC是把這種耦合性用設定檔表示出來,而不是在代碼中,AOP的核心就同個詞,攔截,處理,代理.spring並不是在程式中每個地方都要用到,如果設定檔多了,看起來更麻煩,個人認為spring主要用在層與層之間,在團隊開發中,每部分人專註於自己的那一塊,塊與塊的銜接就用spring,如果層內也用的話,設定檔一大類,不但看不清楚,而且調試也不方便,設定檔出了錯也不好找出來.spring體現出來的也是一種思想,一種方法,解決某個問題方法有多種,spring只是其中的一種,可能不是最好,也可能不是最壞,在適當的地方用就行了.用自己的代碼實現解耦也是一種不錯的方法.我們無須太抬捧網上流行的東西.

3.hibernate 

        hibernate與上面兩種架構一樣,並不是什麼新東西,從某種程式上說,它是對JDBC的封裝.那程式員能用面對對象的思想來操作資料庫.這個架構比較火,據說EJB3.0裡面就有它的東西.hibernte其實就是把資料庫裡面的表用設定檔封裝成類,然後程式員操作這些類就行了,這裡是簡化的普通程式員的工作,但得有人能精通設定檔的編寫,設定檔是個麻煩事,雖然有很多自動工具能幫我們完成許多事,但細節的修改得靠我們自己.網上有不少人說hibernate能提高訪問資料庫的效能,這裡我不完全同意,對於普通的查詢來說,由於hibernate有一級緩衝,二級緩衝,查詢不用到資料庫裡面去,這是快了不少,但如果一個程式中,需要對資料進行更新的地方多,hibernate相對JDBC來說就慢了,它得先從資料庫裡選出資料,然後更改,最後提交,它執行的sql語句就比JDBC多了,還有很多地方都有這種情況.spring與hibernate結合得比較好,開發交率上的確提高不一些,如果對這兩個架構不熟,就麻煩了,出錯了錯誤不容易解決.

小結:對於這三個架構沒有必要一定要弄清每個細節,最重要的是它們的思想.如果是全自學習,學這三個架構並不是一件容易的事,初學者往往被搞得一頭霧水,分不清自己到底在做什麼.而且學的過程中往往產生奮怒:別人跟我同時學,用JDBC和JSP都做過好幾個項目了,我還在搞這三個架構,搞又搞不懂.學了之後你看看JDBC,JSP你會理解得更深.這三個架構我覺得其實沒必要學習,學了固然好,沒學也沒啥.用別人認為好而自己不熟的工具還不如用自己認為好的熟的呢.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.