spring源碼解析1--spring整體架構
一、Spring整體架構圖
關於Spring的基本介紹就不再贅述了,先展示Spring框架的整體架構圖如下示:
二、Spring結構介紹
Spring主要分為Core Container、Test、Data Access、Web、AOP、Aspects等幾個大模塊,而Spring最核心的模塊就是Core Container之後的Beans、Core、Context三個模塊
Core:包含Spring基本的核心工具類,Spring的其他組件都需要使用這個包中的工具類,是最基本的核心包
Beans:該模塊是訪問配置文件、創建和管理bean以及Spring的IOC操作的所有類,該模塊的核心是BeanFactory
Context:該模塊是基於core和bean構建,相當於對bean進行封裝及擴展來對外提供使用,ApplicationContext接口是Context模塊的核心
ExpressionLanguage:提供了一個強大的表達式語音用於在運行時查詢和操作對象。
Data Access/Integration模塊主要提供了數據訪問的支持
JDBC:提供了一個JDBC的抽象層,封裝了JDBC數據訪問的所有類
ORM:為流行的對象-關系映射API,如mybatis、hibernate等提供了交互層
OXM:提供了一個隊Object/XML映射實現的抽象層,包括JAXB、Castor、XMLBeans、JiBX和XStream
JMS:主要包含了一些制造和消費消息的特性
Transactions:支持編程和聲明式事務管理
Web為基於web的應用提供了上下文
Web:提供了基礎的面向web的集成特性
servlet:包含了MVC的實現
struts:提供了對struts的支持
protlet:提供了用於porlet環境和servlet模塊的mvc實現
AOP模塊提供了面向切面編程的實現,並且為spring應用程序中的對象提供了事務管理服務
Aspects模塊提供了對AspectJ的集成支持
Instrumentation模塊提供了class instrumentation支持和class loader實現,使得可以在特定的應用服務器上使用
spring源碼解析1--spring整體架構