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


若是你在使用Spring,並且沒有使用SpringBoot,那麼每一個Spring的功能都須要引入相應的jar包依賴。而Spring的jar包依賴又有一二十個,很容易混淆,形成編譯或運行錯誤。java

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

Spring3框架結構圖

Spring4框架結構圖

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

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

核心容器(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級的實現,用於服務器;
  • spring-instrument-tomcat:針對tomcat的instrument實現;

數據訪問/集成

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

web

  • spring-web:提供基礎的web集成功能;
  • spring-webmvc:基於servlet的MVC;
  • spring-webmvc-portlet:基於portlet的mvc實現;
  • spring-websocket:提供websocket功能;

test&messaging

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

當咱們清晰明瞭的知道Spring的每一個模塊都須要引入什麼jar包時,出錯的機率也將大大減小,固然,若是可以使用Springboot,問題將會更加簡化。express

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

相關文章
相關標籤/搜索