Spring學習(四):一覽Spring的風景線

1. 引言

在本系列的第一篇中,我們提到了Spring能夠簡化很多事情,Spring框架關注於通過DI、AOP和消除樣板式代碼來簡化企業級Java開發。但是,Spring實際上的功能超乎你的想象。在框架之外是一個龐大的生態系統。

2. Spring生態系統

這裏寫圖片描述

如上圖所示,Spring核心容器及容器之外衍生出了許多其他的生態,我們逐一看下這些板塊都是做的什麼事情:

2.1 Spring核心容器

容器是Spring最核心的部分,管理着bean的創建、配置和管理。分爲bean工廠和應用上下文兩類。同時該模塊也提供了許多企業級的服務,例如E-mail、JNDI訪問、EJB集成和調度。總之,所有的Spring模塊都構建於核心容器之上。

2.2 面向切面的編程(AOP)

在AOP模塊中,Spring對面向切面編程提供了豐富的支持。這個模塊是Spring應用系統中開發切面的基礎。與DI一樣,AOP可以幫助應用對象解耦。藉助於AOP,可以將遍佈系統的關注點(例如事務和安全)從它們所應用的對象中解耦出來。

2.3 數據訪問與集成

使用JDBC編寫代碼通常會導致大量的樣板式代碼,例如獲得數據庫連接、創建語句、處理結果集到最後關閉數據庫連接。Spring的JDBC和DAO(DataAccess Object)模塊抽象了這些樣板式代碼,使我們的數據庫代碼變得簡單明瞭,還可以避免因爲關閉數據庫資源失敗而引發的問題。

2.3 Web與遠程調用

MVC(Model-View-Controller)模式是一種普遍被接受的構建Web應用的方法,它可以幫助用戶將界面邏輯與應用邏輯分離。Java從來不缺少MVC框架,Apache的Struts、JSF、WebWork和Tapestry都是可選的最流行的MVC框架。

雖然Spring能夠與多種流行的MVC框架進行集成,但它的Web和遠程調用模塊自帶了一個強大的MVC框架,有助於在Web層提升應用的松耦合水平。

除了面向用戶的Web應用,該模塊還提供了多種構建與其他應用交互的遠程調用方案。Spring遠程調用功能集成了RMI(Remote Method Invocation)、Hessian、Burlap、JAX-WS,同時Spring還自帶了一個遠程調用框架:HTTP invoker。Spring還提供了暴露和使用REST API的良好支持。

2.4 Instrumentation

Spring的Instrumentation模塊提供了爲JVM添加代理(agent)的功能。具體來講,它爲Tomcat提供了一個織入代理,能夠爲Tomcat傳遞類文件,就像這些文件是被類加載器加載的一樣。

2.5 測試

鑑於開發者自測的重要性,Spring提供了測試模塊以致力於Spring應用的測試

3. 小結

如上,Spring整個生態系統爲我們提供了非常大的便利,當然,除了這些Spring Portfolio 還爲我們提供了更多的編程模型,在本系列後面的章節中會提到。

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