1. 程式人生 > >spring history

spring history

面向 面向切面 sql exp 反轉 工作 plain jndi ejb

  Spring框架是由於軟件開發的復雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限於服務器端的開發。從簡單性、可測試性和松耦合性角度而言,絕大部分Java應用都可以從Spring中受益。   ◆目的:解決企業應用開發的復雜性   ◆功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能   ◆範圍:任何Java應用   Spring是一個輕量級控制反轉(IoC)和面向切面(AOP)的容器框架。   要談Spring的歷史,就要先談J2EE。J2EE應用程序的廣泛實現是在1999年和2000年開始的,它的出現帶來了諸如事務管理之類的核心中間層概念的標準化,但是在實踐中並沒有獲得絕對的成功,因為開發效率,開發難度和實際的性能都令人失望。   曾經使用過EJB開發JAVA EE應用的人,一定知道,在EJB開始的學習和應用非常的艱苦,很多東西都不能一下子就很容易的理解。EJB要嚴格地實現各種不同類型的接口,類似的或者重復的代碼大量存在。而配置也是復雜和單調,同樣使用JNDI進行對象查找的代碼也是單調而枯燥。雖然有一些開發工作隨著xdoclet的出現,而有所緩解,但是學習EJB的高昂代價,和極低的開發效率,極高的資源消耗,都造成了EJB的使用困難。而Spring出現的初衷就是為了解決類似的這些問題。   Spring的一個最大的目的就是使JAVA EE開發更加容易。同時,Spring之所以與Struts、Hibernate等單層框架不同,是因為Spring致力於提供一個以統一的、高效的方式構造整個應用,並且可以將單層框架以最佳的組合揉和在一起建立一個連貫的體系。可以說Spring是一個提供了更完善開發環境的一個框架,可以為POJO(Plain Ordinary Java Object)對象提供企業級的服務。 Spring的形成,最初來自Rod Jahnson所著的一本很有影響力的書籍《Expert One-on-One J2EE Design and Development》,就是在這本書中第一次出現了Spring的一些核心思想,該書出版於2002年。另外一本書《Expert One-on-One J2EE Development without EJB》,更進一步闡述了在不使用EJB開發JAVA EE企業級應用的一些設計思想和具體的做法。有時間了可以詳細的研讀一下。 Spring的初衷:   1、JAVA EE開發應該更加簡單。   2、使用接口而不是使用類,是更好的編程習慣。Spring將使用接口的復雜度幾乎降低到了零。   3、為JavaBean提供了一個更好的應用配置框架。   4、更多地強調面向對象的設計,而不是現行的技術如JAVA EE。   5、盡量減少不必要的異常捕捉。   6、使應用程序更加容易測試。 Spring的目標:   1、可以令人方便愉快的使用Spring。   2、應用程序代碼並不依賴於Spring APIs。   3、Spring不和現有的解決方案競爭,而是致力於將它們融合在一起。 Spring的基本組成:   1、最完善的輕量級核心框架。   2、通用的事務管理抽象層。   3、JDBC抽象層。   4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。   5、AOP功能。   6、靈活的MVC Web應用框架。

spring history