Spring框架工做原理及其優缺點詳解

Spring的工做原理web

  Spring真正的精華是它的Ioc模式實現的BeanFactory和AOP,它本身在這個基礎上延伸的功能有些多此一舉。數據庫

  Ioc模式是什麼編程

  可伸縮性和重/輕量,誰是實用系統的架構主選?架構

  Spring它是一個開源的項目,並且目前很是活躍;它基於IoC(Inversion of Control,反向控制)和AOP的構架多層j2ee系統的框架,但它不強迫你必須在每一層 中必須使用Spring,由於它模塊化的很好,容許你根據本身的須要選擇使用它的某一個模塊;它實現了很優雅的MVC,對不一樣的數據訪問技術提供了統一的 接口,採用IoC使得能夠很容易的實現bean的裝配,提供了簡潔的AOP並據此實現Transcation Managment,等等app

Spring的優缺點框架

  優勢 jsp

a. Spring能有效地組織你的中間層對象,無論你是否選擇使用了EJB。若是你僅僅使用了Struts或其餘爲J2EE的 API特製的framework,Spring致力於解決剩下的問題。模塊化

b. Spring能消除在許多工程中常見的對Singleton的過多使用。根據個人經驗,這是一個很大的問題,它下降了系統的可測試性和麪向對象的程度。 單元測試

c. 經過一種在不一樣應用程序和項目間一致的方法來處理配置文件,Spring能消除各類各樣自定義格式的屬性文件的須要。曾經對某個類要尋找的是哪一個魔法般的屬性項或系統屬性感到不解,爲此不得不去讀Javadoc甚至源編碼?有了Spring,你僅僅須要看看類的JavaBean屬性。Inversion of Control的使用(在下面討論)幫助完成了這種簡化。測試

d.? 經過把對接口編程而不是對類編程的代價幾乎減小到沒有,Spring可以促進養成好的編程習慣。 

e. Spring被設計爲讓使用它建立的應用盡量少的依賴於他的APIs。在Spring應用中的大多數業務對象沒有依賴於Spring。 

f. 使用Spring構建的應用程序易於單元測試。

g. Spring能使EJB的使用成爲一個實現選擇,而不是應用架構的必然選擇。你能選擇用POJOs或local EJBs來實現業務接口,卻不會影響調用代碼。 

h. Spring幫助你解決許多問題而無需使用EJB。Spring能提供一種EJB的替換物,它們適用於許多web應用。例如,Spring能使用AOP提供聲明性事務管理而不經過EJB容器,若是你僅僅須要與單個數據庫打交道,甚至不須要一個JTA實現。 

i. Spring爲數據存取提供了一個一致的框架,不管是使用的是JDBC仍是O/R mapping產品(如Hibernate)。 Spring確實使你能經過最簡單可行的解決辦法來解決你的問題。而這是有有很大價值的。

  缺點:

  使用人數很少、jsp中要寫不少代碼、控制器過於靈活,缺乏一個公用控制器。

 以上就是E良師益友網爲你們詳細講解的三大框架中Spring的原理及其優缺點!

相關文章
相關標籤/搜索