Spring 總體架構.md

概覽

Spring 是一個分層架構、由一系列的模塊組成web

spring framework
spring framework

Core Container

核心容器,包含了 Core、Beans、Context、Expression Language 模塊。spring

Core 和 Beans 模塊是框架的基礎部分、提供 IOC (控制反轉)和依賴注入特性,這裏的基礎概念是 BeanFactory。數據庫

  • Core: 主要包含 Spring 框架基本的核心 工具類,Spring 的其餘組件都要用到這個包裏的類,Core 模塊是其餘組件的基本核心。
  • Beans: 包含訪問配置文件、建立和管理 Bean 以及進行 IOC 操做相關的全部類。
  • Context: 構建在 Core 和 Beans 模塊基礎上,提供了相似 JNDI 註冊期的框架式的對象訪問方法。Context 繼承了 Beans 的特性,爲 Spring 和行提供了大量擴展,添加了國際化,事件傳播,資源加載和 Context 的透明建立的支持。 ApplicationContext 接口是 Context 模塊的關鍵。
  • Expression Language: 提供了強大的表達式語言,用於在運行時查詢和操縱對象。

Data Access / Integration

包含 JDBC、ORM、JMS、OXM 和 Transaction 模塊。編程

  • Jdbc: 該模塊提供了一個 JDBC 抽象層,它能夠消除冗長的 JDBC 編碼和解析數據庫廠商特有的錯誤碼。這個模塊包含了 Spring 對 JDBC 數據訪問進行封裝的全部類。
  • ORM: ORM 模塊爲流行的對象-關係映射 API ,如 JPA、Hibernate、Mybatis等,提供了一個交互層。利用 ORM 封裝包,能夠混合使用全部 Spring 提供的特性進行 O/R 映射。
  • Oxm: 提供了一個對 Object / XML 映射實現對抽象層。
  • Jms: 包含一些製造和消費消息的特性。
  • Transaction: 支持編程性和聲明性的事務管理,這些事務類必須實現特定的接口。

Web

web 上下文模塊創建在應用程序上下文模塊之上,爲基於 Web 的應用程序提供了上下文。Web 層包含了 Web 模塊、Web-servlet、Web-portlet。架構

  • Web: 提供了基礎的面向 Web 的集成特性,如文件上傳,使用 servlet listeners 初始化 IOC 容器以及一個面向 Web 的應用上下文。
  • Web-servlet: 包含了 Spring 的 MVC實現.
  • Web-portlet: 提供了 portlet 環境和 web-servlet 模塊的 MVC 實現。

AOP

提供了一個符合 AOP 聯盟標準的面相切面編程的實現。直接將面向切面的編程功能集成到 Spring 的框架中。框架

  • Aspects: 提供了對 AspectJ 的集成支持。
  • Instrumentation: 提供了 class instrumentation 和 classloader 的實現。

Test

支持 JUnit 和 TestNG 對 Spring 組件進行測試。編輯器

此次必定?
此次必定?
相關文章
相關標籤/搜索