Spring 學習日記(2009/09/12) - Spring的其他特性

Spring的核心部件提供了DI支持,在此基礎之上Spring還提供和實現了很多其它的功能和特性,這些功能和特性可以使用在應用程序中從數據存取到 Model View Controller(MVC)的各個層面. 更能體現Spring優越之處的在於,使用Spring框架,開發者不僅可以使用Spring提供的實現,也可以選用其他的具體實現.

 

在Spring中進行面向Aspect的編程
面向Aspect的編程(AOP)是近年來Java中開始流行的一種新技術,使用 AOP,我們可以將應用程序中重複出現的功能或邏輯(如日誌記錄等)從代碼中抽取出來,由AOP引擎進行統一管理,並應用於程序中各個需要的地方. AOP有兩種形式: 靜態AOP和動態AOP, 靜態AOP的主要代表實現如AspectJ等,提供了編譯時刻的AOP支持,而動態AOP,如Spring AOP等則提供了運行時刻的AOP支持. Spring同時也提供了與AspectJ的集成功能.

 

Spring的數據存取支持
Spring提供了對多種數據存取工具的支持,包括 JDBC,Hibernate,iBATIS,Java Data Objects(JDO),Apache Jakarta ObJect Relational Bridge (OJB)等. Spring提供的主要特性在於: 1)簡化了數據存取API的使用; 2)提供了強大的事務管理機制; 3)支持各種數據存取工具的混合使用.

 

Spring的事務管理支持
Spring提供了一個高層的事務管理抽象層,並支持多種不同的事務管理協議和資源管理機制. 在Spring中,事務管理可以通過在代碼中使用API調用進行,也可以使用配置文件來定義. 在Spring的抽象層之下,開發人員可以自由選擇所需的具體實現,並無需改動代碼,就可以進行不同實現之間的切換.

 

Spring與J2EE的集成
寫過EJB程序的開發人員都知道J2EE API的繁複,Spring提供的J2EE集成機制簡化了包括EJB,JNDI,JMS在內的J2EE API的使用,同時通過使用依賴植入,實現了應用程序與J2EE之間的松耦合,提高了代碼的可重用性.

 

Spring的Web MVC框架
Spring提供了強大的基於MVC的WEB開發支持.Spring一方面提供與Apache Struts的集成,支持在Struts應用中使用依賴植入,另一方面,Spring本身提供一套完整的MVC實現, 支持JSP, Velocity, FreeMarker, Jakara Tiles, XSLT等技術,也支持Excel, PDF等輸出格式.

 

Spring的遠程調用支持
Spring支持的遠程調用協議包括Java RMI, JAXRPC, Caucho Hessioan, Caucho Burlao等. 此外,Spring自身也提供了一套基於HTTP和Java Serialisation的遠程訪問協議. 當其他程序需要遠程訪問當前應用中的資源和服務時,使用Spring的遠程訪問代理機制,開發人員無需增加代碼,就可以實現服務的發佈.

 

Spring的電子郵件支持
Spring提供在應用程序中發生電子郵件的支持,基於依賴植入,Spring提供了一套簡化的電子郵件API,同時支持包括Java Mail和MailMessage在內的具體實現.

 

Spring的定時任務調度支持
Spring提供在應用程序中使用Java Timber和Quartz引擎來實現任務的定時執行管理.

 

Spring的異常處理
Spring簡化了應用程序中的異常處理.由於Java語言規範強制要求在代碼中處理Checked Exception(如IO異常和SQL異常等),開發人員往往需要加入模板式的異常處理代碼,Spring提供的異常處理機制一方面可以減少這類重複性 的代碼,另一方面,又可以幫助我們發現和診斷程序中的錯誤.

 

Spring的代碼元數據支持
從Java 5.0開始,開發者可以通過在代碼中添加元數據(Metadata)來定義Java對象的屬性, Spring提供基於JSR-175的元數據支持,並在AOP中廣泛使用.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章