spring framework體系結(jié)構(gòu)及模塊jar依賴關系詳解
本文對于Spring的JAR包使用和配置,結(jié)合網(wǎng)友材料以spring 4.3.6.RELEASE版本為例,介紹spring框架結(jié)構(gòu)和各模塊對應JAR包以及模塊間JAR依賴關系。
注:不同版本JAR包依賴會有所區(qū)別
spring官網(wǎng)給出了一張spring4的結(jié)構(gòu)圖
圖中可以簡單認為將spring分為5個部分:core、aop、data access、web、test,圖中每個圓角矩形都對應相應jar包,如果在maven中配置,所有這些jar的“groupId”都是“org.springframework”,每個jar有一個不同的“artifactId”,官方給出總共20個JAR包
題外話,對于JAR包的下載,除官方給出的通過maven和gradle依賴自動下載外,還可以通過以下地址直接下載全量ZIP包,但對于spring JAR包依賴的jar包需要自己額外下載
http://repo.spring.io/release/org/springframework/spring/
下面介紹這5個部分的jar以及依賴關系
core部分包含4個模塊
1、spring-core:依賴注入IoC與DI的最基本實現(xiàn),對應spring-core-4.3.6.RELEASE.jar
2、spring-beans:Bean工廠與bean的裝配,對應spring-beans-4.3.6.RELEASE.jar
3、spring-context:spring的context上下文即IoC容器,包含二個JAR包,對應spring-context-4.3.6.RELEASE.jar和spring-context-support-4.3.6.RELEASE.jar,其中support是spring額外支持包,比如郵件服務、視圖解析等
4、spring-expression:spring表達式語言,對應spring-expression-4.3.6.RELEASE.jar
它們的完整依賴關系
因為spring-core依賴了commons-logging,而其他模塊都依賴了spring-core,所以整個spring框架都依賴了commons-logging,如果有自己的日志實現(xiàn)如log4j,可以排除對commons-logging的依賴,沒有日志實現(xiàn)而排除了commons-logging依賴,編譯報錯
aop部分包含4個模塊
1、spring-aop:面向切面編程,對應spring-aop-4.3.6.RELEASE.jar
2、spring-aspects:集成AspectJ,對應spring-aspects-4.3.6.RELEASE.jar
3、spring-instrument:提供一些類級的工具支持和ClassLoader級的實現(xiàn),用于服務器,對應spring-instrument-4.3.6.RELEASE.jar,同時提供針對tomcat的instrument實現(xiàn)jar包spring-instrument-tomcat-4.3.6.RELEASE.jar
4、spring-messaging:用于構(gòu)建基于消息的應用程序spring-messaging-4.3.6.RELEASE.jar
它們的依賴關系
data access部分包含5個模塊
1、spring-jdbc:jdbc的支持,對應spring-jdbc-4.3.6.RELEASE.jar
2、spring-tx:事務控制,對應 spring-tx-4.3.6.RELEASE.jar
3、spring-orm:對象關系映射,集成orm框架,對應spring-orm-4.3.6.RELEASE.jar
4、spring-oxm:對象xml映射,對應 spring-oxm-4.3.6.RELEASE.jar
5、spring-jms:java消息服務,對應spring-jms-4.3.6.RELEASE.jar
它們的依賴關系
web部分包含4個模塊
1、spring-web:基礎web功能,如文件上傳,spring-web-4.3.6.RELEASE.jar
2、spring-webmvc:mvc實現(xiàn),對應spring-webmvc-4.3.6.RELEASE.jar
3、spring-webmvc-portlet:基于portlet的mvc實現(xiàn),對應spring-webmvc-portlet-4.3.6.RELEASE.jar
4、spring-websocket:為web應用提供的高效通信工具,對應spring-websocket-4.3.6.RELEASE.jar
它們的依賴關系
test部分只有一個模塊,
1、spring-test:spring測試,提供junit與mock測試功能,對應spring-test-4.3.6.RELEASE.jar
它們的依賴關系
到這里,spring4的結(jié)構(gòu)、JAR包以及依賴關系介紹就完了,看完這些圖相信對整個Spring結(jié)構(gòu)以及所需JAR包都有清晰了解,同時對于在maven中配置spring依賴時也不會再混亂了。
以上以上本次介紹的全部知識點內(nèi)容,感謝大家對腳本之家的支持。
相關文章
java獲取新insert數(shù)據(jù)自增id的實現(xiàn)方法
這篇文章主要介紹了java獲取新insert數(shù)據(jù)自增id的實現(xiàn)方法,在具體生成id的時候,我們的操作順序一般是:先在主表中插入記錄,然后獲得自動生成的id,以它為基礎插入從表的記錄,需要的朋友可以參考下2019-06-06async-excel實現(xiàn)多sheet異步導出方法詳解
這篇文章主要介紹了async-excel實現(xiàn)多sheet異步導出方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-12-12Mybatis分頁插件PageHelper的配置和簡單使用方法(推薦)
在使用Java Spring開發(fā)的時候,Mybatis算是對數(shù)據(jù)庫操作的利器了。這篇文章主要介紹了Mybatis分頁插件PageHelper的配置和使用方法,需要的朋友可以參考下2017-12-12Java畢業(yè)設計之多用戶宿舍管理系統(tǒng)的實現(xiàn)
這篇文章主要介紹了基于Java實現(xiàn)的多用戶宿舍管理系統(tǒng),本文采用了jsp、servlet、jdbc等技術(shù),文中示例代碼講解詳細,需要的可以參考一下2022-02-02