1.核心容器模塊:提供spring的基本功能,包括Core,Beans,Context,EL模塊
Core:封裝了框架依賴的最底層部分,包括資源訪問,類型轉換及一些常用工具類。
Bean:主要組件是BeanFactory,它是工廠模式的實現。
Context:是一個配置文件模塊,向Spring提供上下文信息。
EL:提供強大的表達式語言支持。
2.Aop,Aspects模塊
Aop:提供了符合AOP Alliance規范(Alliance是Aop聯盟的API包,里面包含了針對面向切面的接口,通常Spring等其他具備動態植入功能的框架依賴此包)面向切面編程的實現,提供比如日志記錄,權限控制,性能統計等通知功能和業務邏輯分離技術,並且能動態地將這些功能添加到需要的代碼中,這樣各司其職,可降低業務邏輯和通用功能的耦合。
Aspects:提供了對AspectJ的集成,AspectJ(AspectJ是一個面向切面的框架,定義了AOP語法,它有一個專門的編譯器用來生成遵守java字節編碼規范的Class文件)提供了比SpringAsp更強大的功能。
3.數據訪問/集成模塊:包括JDBC,ORM,OXM,JMS和事務模塊
事務模塊:用於Spring管理事務,只要是spring管理對象都能得到spring管理事務的好處,無須在代碼進行事務控制,支持編程和聲明性的事務管理。
JDBC:提供了一個JDBC的樣例模板,使用這些模板能消除傳統冗長的JDBC編碼,還有必須的事務控制,而且能享受到Spring管理事務的好處。
ORM:在關系型數據庫和對象之間作一個映射,這樣,我們在具體操作數據庫的時候,就不需要去和復雜的SQL語句打交道,只要像平時操作對象一樣操作就可以。
OXM:Spring3.0的一個新特性是O/X Mapper ,O 代表Object,X代表xml,提供了一個對Object/XML映射實現的抽象層,它的目的是在java(POJO)對象和XML文檔 之間來回轉換(https://blog.csdn.net/qq_37151646/article/details/82664846)
JMS:提供一套“消息生產者,消息消費者”模板以便更加簡單的使用JMS,JMS 用於在兩個應用程序之間,或者分布式系統中發送消息,進行異步通信。
4.Web/Remothing模塊:包含Web,Web-Servlet,Web-Struts,Web-Prolet 模塊
Web:提供了基礎的web功能,例如多文件上傳,集成Ioc容器,遠程過程訪問以及Web Service支持,並提供一個RestTemplate類來提供方便的RestFul Services訪問。
Web-Servlet:提供了一個Spring MVC Web框架的實現