Java編程中Spring的一些負面因素

來源:互聯網
上載者:User
          一。Spring的xml配置很不好。xml濫用程度已經泛濫成災了。要知道程式員最習慣,最歡迎的還是看代碼。當要看一個商務邏輯時發現竟然先要去看它的父類,然後看爺爺類,然後再看太爺爺類,最後發現還需要找Spring配置去找另外一個類,而這個類ref了另外一個類時,肯定哐當暈倒。無論是初學語言,還是對技術深入瞭解的高手,或者還是因為項目緊急從別的地方抽掉過來的其他成員。簡單的代碼和配置都是合適的(像我這樣用了好幾年的java的人已經有點不愛看xml配置)。

        二。Spring的配置方式不支援開發模式。每次修改Spring配置,總是需要重啟動。一些大項目啟動是非常耗時的。相反一些別的小的第三方配置開發包可以支援開發模式。另外,我覺得Sping也不太可能支援開發模式,這在下面一點會說到

        三。直覺上Spring管的太多。對於很多架構或者第三方lib來說,往往專著於完成系統的某一方面。如Hibernate專著於O/R Mapping,EJB專著於分布,事務,規則引擎專著於解釋規則,執行運算等。Spring做的太多使其有啥都做不好的嫌疑,當然這還不是最主要的負面因素,而是他幹擾了業務系統。他對對象進行管理有可能會讓某些使用者用Spring管理業務對象。這有可能帶來負面結果的。如一些情況:Struts的MVC被Spring接管,商務邏輯又被Spring接管。一個新手很難看懂代碼。瞭解代碼的時候總會遇到“黑洞”。又如上面所說的開發模式,因為業務對象的互相依賴,"重新啟動業務對象"是很複雜的一件事情,Spring也不可能做到這一點。除非你的業務對象屈服於Spring的架構,這又和使用Spring初衷違背了。再如,業務對象的複雜性,核心性決定了Spring難以管理好它,也沒有必要多此一舉.

        四。適配器成災。Spring為了管理好第三方包,只好做些適配器。以方便管理。當然,有些第三方包很簡單,不需要做,比如我看到javaresearch.org剛有的一篇文章是在Spring中使用定時器。但是某些複雜的第三方包或者架構就有問題了,得寫適配器。如接管某web mvc架構。又如剛才所說的定時器lib,本生功能齊備的定時器lib就有自己的配置,你要去Spring去管理它。只能寫個適配器,在適配器中使用定時器lib提供的設定檔。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.