您好,登錄后才能下訂單哦!
首先讓我們來看一下Spring框架的分層:
從上面我們大致可以知道Spring由20多個模塊組成,它們之間相互獨立卻又相互依賴,只要我們掌握了上面的所有模塊,就說明你已經掌握了學習Spring框架的主線。
整個Spring模塊是建立在Core Container上的,在該容器里Beans與Core是框架的基礎部分,提供Ioc和依賴注入特性,這里的基礎概念是BeanFactory,它提供對Factory模式的經典實現來消除對程序性單例模式的需要,并真正的允許你從程序邏輯中分離出依賴關系和配置。
Context模塊構建于Core和Beans模塊基礎之上,提供了一種類似于JNDI注冊器的框架式的對象訪問方法。Context模塊繼承了Beans的特性,然后添加了對國際化(例如資源綁定)、事件傳播、資源加載和對Context的透明創建的支持。Context模塊同時也支持J2EE的一些特性,例如EJB、JMX和基礎的遠程處理。ApplicationContext接口是Context模塊的關鍵。
Expression Language模塊提供了一個強大的表達式語言用于在運行時查詢和操縱對象。它是JSP2.1規范中定義的unifed expression language的一個擴展。該語言支持設置/獲取屬性的值、屬性的分配、方法的調用、訪問數組上下文(accessiong the context of arrays)、容器和索引器、邏輯和算術運算符、命名變量以及從Spring的IoC容器中根據名稱檢索對象。它也支持list投影、選擇和一般的list聚合。
AOP模塊提供了一個符合AOP聯盟標準的面向切面編程的實現,它讓你可以定義,例如方法攔截器和切點,從而將邏輯代碼分開,降低它們之間的耦合性。利用source-level的元數據功能,還可以將各種行為信息合并到你的代碼中,這有點像.net中的attribute的概念。
Aspects模塊提供了對AspectJ的集成支持。
Instrumentation模塊提供了class instrumentation支持和classloader實現,使得可以在特定的應用服務器上使用。
JDBC模塊提供了一個JDBC抽象層,它可以消除冗長的JDBC編碼和解析數據庫廠商特有的錯誤代碼。
ORM模塊為流行的對象-關系映射API——JPA、JDO、Hibernate、iBatis等提供了一個交互層。利用ORM封裝包,可以混合使用所有Spring提供的特性進行O/R映射。如前邊提到的簡單聲明性事物管理。
OXM模塊提供了一個對Object/XML映射實現的抽象層,Object/XML映射實現包括JAXB、Castor、XMLBeans、JiBX和XStream。
JMS(Java Messaging Service)模塊主要包含了一些制造和消費消息的特性。
Transaction模塊:該模塊支持編程和聲明性的事物管理,這些事物類必須實現特定的接口,并且對所有的POJO都適用。
Web模塊提供了基礎的面向web的集成特性。例如多文件上傳、使用servlet listeners初始化IoC容器以及一個面向web的應用上下文。它還包含Spring遠程支持中web相關部分。
Web-Servlet模塊包含Spring的model-view-controller(MVC)實現。Spring的MVC框架使得模型范圍內的代碼和web forms之間能夠清楚的分離開來,并與Spring框架的其他特性集成在一起。
Web-Struts模塊提供了對Struts的支持,使得類在Spring應用中能夠與一個典型的Struts web層集成在一起。注意,該支持在Spring 3.0中是deprecated的。 Web-Porlet模塊提供了用于portlet環境和Web-Servlet模塊的MVC的實現。
以上是Spring框架的總體介紹,后面我們會針對模塊進行詳細的解說。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。