阿里P7級架構師總結Spring核心模塊及功能匯總


如果你在使用Spring,而且沒有使用SpringBoot,那么每個Spring的功能都需要引入相應的jar包依賴。而Spring的jar包依賴又有一二十個,很容易混淆,造成編譯或運行錯誤。

下面我們就整理一下Spring3和Spring4的核心模塊和對應的jar包,方便我們在具體使用的過程中更加清晰的了解到我們都需要什么。

Spring3框架結構圖
Spring4框架結構圖

與Spring3相比去掉了Struts,新增了Messaging和Websocket。

分析上面的框架結構圖,大概包括以下模塊和jar包依賴。

核心容器(Core Container)

  • spring-core:核心類庫,其他模塊大量使用此jar包;
  • spring-beans:Spring定義Bean的支持;
  • spring-context:運行時Spring容器;
  • spring-context-support:Spring容器對第三方包的集成支持,比如郵件服務、視圖
    解析
  • spring-expression:Spring表達式語言

AOP

  • spring-aop:基于代理的AOP支持;
  • spring-aspects:基于AspectJ的AOP支持;
  • spring-instrument:提供一些類級的工具支持和ClassLoader級的實現(xiàn),用于服務器;
  • spring-instrument-tomcat:針對tomcat的instrument實現(xiàn);

數(shù)據(jù)訪問/集成

  • spring-jdbc:提供以jdbc訪問數(shù)據(jù)庫的支持;
  • spring-tx:提供編程式和聲明式事務支持;
  • spring-orm:提供對象/關系映射支持;
  • spring-oxm:提供對象/xml映射支持;
  • spring-jms:提供對JMS(java消息服務)的支持;

web

  • spring-web:提供基礎的web集成功能;
  • spring-webmvc:基于servlet的MVC;
  • spring-webmvc-portlet:基于portlet的mvc實現(xiàn);
  • spring-websocket:提供websocket功能;

test&messaging

  • spring-test:spring測試,提供junit與mock測試功能;
  • spring-messaging:對消息架構和協(xié)議的支持;

當我們清晰明了的知道Spring的每個模塊都需要引入什么jar包時,出錯的概率也將大大減少,當然,如果能夠使用Springboot,問題將會更加簡化。

歡迎Java工程師朋友們加入Java高級架構進階: 963944895,群內提供免費的Java架構學習資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容