瞭解 Spring 體系結構

體系結構

Spring 有可能成爲所有企業應用程序的一站式服務點,然而,Spring 是模塊化的,允許挑選和選擇合適的模塊,不必要把剩餘部分也引入。
在這裏插入圖片描述

核心容器

核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring表達式語言,Spring Expression Language)等模塊組成,它們的細節如下:

  • spring-core模塊提供了框架的基本組成部分,包括 IoC 和依賴注入功能。
  • spring-beans 模塊提供 BeanFactory,工廠模式的微妙實現,它移除了編碼式單例的需要,並且可以把配置和依賴從實際編碼邏輯中解耦。
  • context模塊建立在由core和 beans 模塊的基礎上建立起來的,它以一種類似於JNDI註冊的方式訪問對象。Context模塊繼承自Bean模塊,並且添加了國際化(比如,使用資源束)、事件傳播、資源加載和透明地創建上下文(比如,通過Servelet容器)等功能。Context模塊也支持Java EE的功能,比如EJB、JMX和遠程調用等。ApplicationContext接口是Context模塊的焦點。
  • spring-expression模塊提供了強大的表達式語言,用於在運行時查詢和操作對象圖。它是JSP2.1規範中定義的統一表達式語言的擴展,支持set和get屬性值、屬性賦值、方法調用、訪問數組集合及索引的內容、邏輯算術運算、命名變量、通過名字從Spring IoC容器檢索對象,還支持列表的投影、選擇以及聚合等。

它們的完整依賴關係如下圖所示:
在這裏插入圖片描述

數據訪問/集成

數據訪問/集成層包括 JDBC,ORM,OXM,JMS 和事務處理模塊,它們的細節如下:
Tips: JDBC=Java Data Base Connectivity,ORM=Object Relational Mapping,OXM=Object XML Mapping,JMS=Java Message Service)

  • JDBC 模塊提供了JDBC抽象層,它消除了冗長的JDBC編碼和對數據庫供應商特定錯誤代碼的解析。
  • ORM 模塊提供了對流行的對象關係映射API的集成,包括JPA、JDO和Hibernate等。通過此模塊可以讓這些ORM框架和spring的其它功能整合,比如前面提及的事務管理。
  • OXM 模塊提供了對OXM實現的支持,比如JAXB、Castor、XML Beans、JiBX、XStream等。
  • JMS 模塊包含生產(produce)和消費(consume)消息的功能。
  • 事務模塊爲實現特殊接口類及所有的 POJO 支持編程式和聲明式事務管理。

Web

Web 層由 Web,Web-MVC,Web-Socket 和 Web-Portlet 組成,它們的細節如下:

  • Web 模塊提供面向web的基本功能和麪向web的應用上下文,比如多部分(multipart)文件上傳功能、使用Servlet監聽器初始化IoC容器等。
  • Web-MVC 模塊爲web應用提供了模型視圖控制(MVC)和REST Web服務的實現。Spring的MVC框架可以使領域模型代碼和web表單完全地分離,且可以與Spring框架的其它所有功能進行集成。
  • Web-Socket 模塊爲 WebSocket-based 提供了支持,而且在 web 應用程序中提供了客戶端和服務器端之間通信的兩種方式。
  • Web-Portlet 模塊提供了用於Portlet環境的MVC實現,並反映了spring-webmvc模塊的功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章