日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转载】spring framework体系结构详解

發(fā)布時(shí)間:2024/10/8 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】spring framework体系结构详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:一個(gè)無(wú)語(yǔ)的人
鏈接:https://www.jianshu.com/p/5b0c96975164
來(lái)源:簡(jiǎn)書

?

Spring的大名如雷貫耳,但一直在用公司自己的一套框架只是了解沒(méi)有怎么使用,最近項(xiàng)目需要開(kāi)始研究Spring,首先需要拿到Spring的JAR包進(jìn)行開(kāi)發(fā),官網(wǎng)介紹是使用maven和gradle管理,對(duì)于內(nèi)部依賴JAR包直接處理掉直接看不出來(lái),對(duì)于不使用這二個(gè)管理工具而言JAR包關(guān)系有點(diǎn)不知所綜,同時(shí)即使使用這二個(gè)工具,對(duì)JAR包的依賴也有點(diǎn)亂,所以有必要搞清楚JAR包關(guān)系。

本文對(duì)于Spring的JAR包使用和配置,結(jié)合網(wǎng)友材料以spring 4.3.6.RELEASE版本為例,介紹spring框架結(jié)構(gòu)和各模塊對(duì)應(yīng)JAR包以及模塊間JAR依賴關(guān)系。

注:不同版本JAR包依賴會(huì)有所區(qū)別

spring官網(wǎng)給出了一張spring4的結(jié)構(gòu)圖

?

圖中可以簡(jiǎn)單認(rèn)為將spring分為5個(gè)部分:core、aop、data access、web、test,圖中每個(gè)圓角矩形都對(duì)應(yīng)相應(yīng)jar包,如果在maven中配置,所有這些jar的“groupId”都是“org.springframework”,每個(gè)jar有一個(gè)不同的“artifactId”,官方給出總共20個(gè)JAR包

題外話,對(duì)于JAR包的下載,除官方給出的通過(guò)maven和gradle依賴自動(dòng)下載外,還可以通過(guò)以下地址直接下載全量ZIP包,但對(duì)于spring JAR包依賴的jar包需要自己額外下載

http://repo.spring.io/release/org/springframework/spring/

下面介紹這5個(gè)部分的jar以及依賴關(guān)系

core部分包含4個(gè)模塊

1、spring-core:依賴注入IoC與DI的最基本實(shí)現(xiàn),對(duì)應(yīng)spring-core-4.3.6.RELEASE.jar

2、spring-beans:Bean工廠與bean的裝配,對(duì)應(yīng)spring-beans-4.3.6.RELEASE.jar

3、spring-context:spring的context上下文即IoC容器,包含二個(gè)JAR包,對(duì)應(yīng)spring-context-4.3.6.RELEASE.jar和spring-context-support-4.3.6.RELEASE.jar,其中support是spring額外支持包,比如郵件服務(wù)、視圖解析等

4、spring-expression:spring表達(dá)式語(yǔ)言,對(duì)應(yīng)spring-expression-4.3.6.RELEASE.jar

它們的完整依賴關(guān)系

?

?

因?yàn)閟pring-core依賴了commons-logging,而其他模塊都依賴了spring-core,所以整個(gè)spring框架都依賴了commons-logging,如果有自己的日志實(shí)現(xiàn)如log4j,可以排除對(duì)commons-logging的依賴,沒(méi)有日志實(shí)現(xiàn)而排除了commons-logging依賴,編譯報(bào)錯(cuò)

aop部分包含4個(gè)模塊

1、spring-aop:面向切面編程,對(duì)應(yīng)spring-aop-4.3.6.RELEASE.jar

2、spring-aspects:集成AspectJ,對(duì)應(yīng)spring-aspects-4.3.6.RELEASE.jar

3、spring-instrument:提供一些類級(jí)的工具支持和ClassLoader級(jí)的實(shí)現(xiàn),用于服務(wù)器,對(duì)應(yīng)spring-instrument-4.3.6.RELEASE.jar,同時(shí)提供針對(duì)tomcat的instrument實(shí)現(xiàn)jar包spring-instrument-tomcat-4.3.6.RELEASE.jar

4、spring-messaging:用于構(gòu)建基于消息的應(yīng)用程序spring-messaging-4.3.6.RELEASE.jar

它們的依賴關(guān)系

?

data access部分包含5個(gè)模塊

1、spring-jdbc:jdbc的支持,對(duì)應(yīng)spring-jdbc-4.3.6.RELEASE.jar

2、spring-tx:事務(wù)控制,對(duì)應(yīng) spring-tx-4.3.6.RELEASE.jar

3、spring-orm:對(duì)象關(guān)系映射,集成orm框架,對(duì)應(yīng)spring-orm-4.3.6.RELEASE.jar

4、spring-oxm:對(duì)象xml映射,對(duì)應(yīng) spring-oxm-4.3.6.RELEASE.jar

5、spring-jms:java消息服務(wù),對(duì)應(yīng)spring-jms-4.3.6.RELEASE.jar

它們的依賴關(guān)系

?

web部分包含4個(gè)模塊

1、spring-web:基礎(chǔ)web功能,如文件上傳,spring-web-4.3.6.RELEASE.jar

2、spring-webmvc:mvc實(shí)現(xiàn),對(duì)應(yīng)spring-webmvc-4.3.6.RELEASE.jar

3、spring-webmvc-portlet:基于portlet的mvc實(shí)現(xiàn),對(duì)應(yīng)spring-webmvc-portlet-4.3.6.RELEASE.jar

4、spring-websocket:為web應(yīng)用提供的高效通信工具,對(duì)應(yīng)spring-websocket-4.3.6.RELEASE.jar

它們的依賴關(guān)系

?

?test部分只有一個(gè)模塊,

1、spring-test:spring測(cè)試,提供junit與mock測(cè)試功能,對(duì)應(yīng)spring-test-4.3.6.RELEASE.jar

它們的依賴關(guān)系

?

到這里,spring4的結(jié)構(gòu)、JAR包以及依賴關(guān)系介紹就完了,看完這些圖相信對(duì)整個(gè)Spring結(jié)構(gòu)以及所需JAR包都有清晰了解,同時(shí)對(duì)于在maven中配置spring依賴時(shí)也不會(huì)再混亂了。

?

總結(jié)

以上是生活随笔為你收集整理的【转载】spring framework体系结构详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。