javascript
Spring 体系结构详解
Spring 體系結構詳解
核心容器(Core Container)
Core和Beans模塊提供了Spring最基礎的功能,提供IOC和依賴注入特性。這里的基礎概念是BeanFactory,它提供對Factory模式的經典實現來消除對程序性單例模式的需要,并真正地允許你從程序邏輯中分離出依賴關系和配置。
Context模塊基于Core和Bean來構建,它提供了用一種框架風格地方式來訪問對象,有些像JNDI注冊表。Context封裝包繼承了beans包的功能,還增加了國際化(I18N),事件傳播,資源裝載,以及透明創建上下文,例如通過servlet容器,以及對大量JavaEE特性的支持,如EJB,JMX.核心接口是ApplicationContext.
Expression Language,表達式語言模塊,提供了在運行期間查詢和操作對象圖的強大能力。支持訪問和修改屬性值,方法調用,支持訪問及修改數組、容器和索引器,命名變量,支持算數和邏輯運算,支持從spring容器獲取Bean,它也支持列表投影、選擇和一般的列表聚合等。
數據訪問/集成部分(Data Access/Integration)
JDBC模塊,提供對JDBC的抽象,它可消除冗長的JDBC編碼和解析數據庫廠商特有的錯誤代碼。
ORM模塊,提供了常用的“對象/關系”映射API的集成層。其中包括JPA、JDO、Hibernate和iBatis.利用ORM封裝包,可以混合使用所有Spring提供的特性進行“對象/關系”映射,如簡單聲明式事務管理。
OXM模塊,提供一個支持Object和XML進行映射的抽象層。其中包括JAXB、Castor、XMLBeans、JiBX和XStream.
JMS模塊,提供一套“消息生產者、消費者”模板用于更加簡單的使用JMS,JMS用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。
Transaction模塊,支持程序通過簡單聲明式事務管理,只要是Spring管理對象都能得到Spring管理事務的好處,即使是POJO,也可以為他們提供事務。
web
web-socket模塊,websocket protocol是HTML5一種新的協議。它實現了瀏覽器與服務器全雙工通信,spring支持websocket通信。
web模塊,提供了基礎的web功能。例如多文件上傳、集成IOC容器、遠程過程訪問以及對webservice支持,并提供一個RestTemplate類來提供方便的Restful services訪問。
web-servlet模塊,提供了web應用的model-view-controller(MVC)實現。spring mvc框架提供了基于注解的請求資源注入、更簡單的數據綁定、數據驗證等及一套非常易用的JSP標簽,完全無縫與spring其他技術協作。
web-portlet模塊,提供了在portlet環境下的mvc實現。
AOP
aop模塊,提供了符合aop聯盟規范的面向切面的編程實現,讓你可以定義如方法攔截器和切入點,從邏輯上講,可以減弱代碼的功能耦合,清晰地被分離開。而且,利用源碼級地元數據功能,還可以將各種行為信息合并到你的代碼中。
aspects模塊,提供了對AspectJ的集成。
Instrumentation模塊,提供一些類級的工具支持和ClassLoader級的實現,可以在一些特定的應用服務器中使用。
Test
Test模塊,提供對使用JUnit和TestNG來測試Spring組件的支持,它提供一致的ApplicationContext并緩存這些上下文,它還能提供一些mock對象,使得你可以獨立地測試代碼。
總結
以上是生活随笔為你收集整理的Spring 体系结构详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shiro实现url级别的权限控制(用户
- 下一篇: 【面试题】CookieSession