Spring Framework體系結構簡介


說明:以下轉自Spring官方文檔,用的版本為4.3.11版本。

一、引用官方文檔

2.2.1核心集裝箱

所述核心容器由以下部分組成spring-core, spring-beansspring-contextspring-context-support,和spring-expression(彈簧表達式語言)模塊。

spring-corespring-beans模塊提供框架的基本零件,包括IOC和依賴注入特征。這BeanFactory是工廠模式的復雜實施。它消除了對編程單例的需要,並允許您將依賴關系的配置和規范與實際程序邏輯分離。

所述上下文spring-context)模塊建立由設置在固體基體上的核心和豆類模塊:它是訪問一個框架式的方式是類似於一個JNDI注冊表對象的裝置。上下文模塊從Beans模塊繼承其功能,並增加了對國際化的支持(例如使用資源束),事件傳播,資源加載以及例如Servlet容器透明創建上下文。Context模塊還支持Java EE功能,如EJB,JMX和基本遠程處理。該ApplicationContext接口是語境模塊的焦點。 spring-context-support支持將常見的第三方庫集成到用於緩存的Spring應用程序環境(EhCache,Guava,JCache),郵件(JavaMail),調度(CommonJ,Quartz)和模板引擎(FreeMarker,JasperReports,Velocity)中。

spring-expression模塊提供了強大的表達式語言,用於在運行時查詢和操作對象圖。它是JSP 2.1規范中規定的統一表達語言(統一EL)的擴展。該語言支持設置和獲取屬性值,屬性分配,方法調用,訪問數組,集合和索引器的內容,邏輯和算術運算符,命名變量以及從Spring的IoC容器中以名稱檢索對象。它還支持列表投影和選擇以及常見列表聚合。

2.2.2 AOP和儀器

spring-aop模塊提供了一個符合AOP聯盟標准的面向方面的編程實現,允許您定義方法攔截器和切入點,以清理分離實現應分離的功能的代碼。使用源代碼級元數據功能,您還可以將行為信息與.NET屬性類似。

單獨的spring-aspects模塊提供與AspectJ的集成。

spring-instrument模塊提供了在某些應用服務器中使用的類檢測支持和類加載器實現。該spring-instrument-tomcat模塊包含Spring的Tomcat測試代理。

2.2.3消息傳遞

Spring框架4包括spring-messaging從關鍵抽象模塊Spring集成項目,例如MessageMessageChannelMessageHandler,和其他人作為基於消息的應用奠定了基礎。該模塊還包括一組用於將消息映射到方法的注釋,類似於基於Spring MVC注釋的編程模型。

2.2.4數據訪問/集成

所述數據訪問/集成層由JDBC,ORM,OXM,JMS和交易模塊。

spring-jdbc模塊提供了一個JDBC抽象層,無需對繁瑣的JDBC編碼和數據庫供應商特定的錯誤代碼進行解析。

spring-tx模塊支持 針對實現特殊接口和所有POJO(普通Java對象)的類的編程和聲明式事務管理。

spring-orm模塊為流行的對象關系映射 API提供集成層 ,包括JPA, JDOHibernate。使用該spring-orm模塊,您可以將所有這些O/R映射框架與Spring提供的所有其他功能結合使用,例如前面提到的簡單的聲明性事務管理功能。

spring-oxm模塊提供了一個支持Object / XML映射實現(如JAXB,Castor,XMLBeans,JiBX和XStream)的抽象層。

spring-jms模塊(Java消息服務)包含用於生成和消費消息的功能。從Spring Framework 4.1開始,它提供了與spring-messaging模塊的集成 。

2.2.5 Web

所述網絡層由的spring-webspring-webmvcspring-websocket,和spring-webmvc-portlet模塊。

spring-web模塊提供基本的面向Web的集成功能,例如多部分文件上傳功能,以及使用Servlet偵聽器和面向Web的應用程序上下文初始化IoC容器。它還包含一個HTTP客戶端和Spring的遠程支持的Web相關部分。

spring-webmvc模塊(也稱為Web-Servlet模塊)包含用於Web應用程序的Spring的模型視圖控制器(MVC)和REST Web Services實現。Spring的MVC框架提供了領域模型代碼和Web表單之間的清晰分離,並與Spring Framework的所有其他功能集成。

spring-webmvc-portlet模塊(也稱為Web-Portlet模塊)提供了要在Portlet環境中使用的MVC實現,並且反映了基於Servlet的spring-webmvc模塊的功能。

2.2.6測試

spring-test模塊支持使用JUnit或TestNG對Spring組件進行單元測試集成測試。它提供了Spring 的一致加載ApplicationContext和這些上下文的緩存。它還提供可用於孤立測試代碼的模擬對象

二、Spring體系說明

其實Spring Framework包含了Spring Web MVC。而整個Spring體現是非常龐大的,所以在找這類文檔時,最正確的做法是通過官方文檔去閱讀。

比如Spring體系有Spring Boot、Spring Cloud等。入口就是:https://spring.io/docs/reference,然后搜索想要的結果即可。

 

參考:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/(官方文檔)

https://www.ibm.com/developerworks/cn/java/wa-spring1/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM