Spring整体架构和jar包依赖关系详解

想要了解一个新的知识,必须要清楚它的作用以及它的整体架构,学习新知识点的地方必然是官网。

一.Spring框架

 

上图将spring分为5个部分:core, aop,  data access,   web,  test。图中每个圆角矩形都对应一个jar。所有这些jar的“groupId”都是“org.springframework”,每个jar有一个不同的“artifactId”,另外,“instrumentation”有两个jar,还有一个“spring-context-support”图中没有列出,所以spring4的jar包一共是20个。

下面介绍这5个部分的jar以及依赖关系:

(1)Core Container:核心容器,下面4个模块jar包在使用spring时必须导入。

  1. Core模块:主要包含Spring框架基本的核心工具类,特别重要
  2. Beans模块:包含访问配置文件、创建和管理bean以及进行Ioc/DI操作相关的所有类
  3. Context模块:构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法
  4.  Expression Languaga模块:提供了一个强大的表达式语言用于在运行时查询和操纵对象

     它们的依赖关系: 

    

(2)Data Access/Integration

  1. JDBC模块:jdbc支持
  2. ORM模块:对象关系映射,集成orm框架,如Hibernate,IBatis
  3. OXM模块:对象XML映射
  4. JMS(Java Message Service)模块:java消息服务
  5. Transaction模块:事务控制

      它们的依赖关系

 

(3)Web:建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文,还简化了处理多部分请求以及将请求参数绑定到域上的工作

  1. spring-web模块:提供了基础的面向web的集成特性,如文件上传
  2. spring-webmvc模块:包含了spring 的mvc实现
  3. spring-websocket:为web应用提供的高效通信工具
  4.  spring-web-portlet模块:提供了用于Portlet环境和web-servlet模块的mvc实现

  它们的依赖关系

        

(4)AOP模块:提供了面向切面编程的实现,将逻辑代码分开,降低它们之间的耦合性

  1. spring-aop:面向切面编程
  2. spring-aspects :Aspects模块提供了对AspectJ(一个面向切面的框架,它扩展了Java语言)的集成支持。
  3. spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器
  4. spring-instrument-tomcat:针对tomcat的instrument实现
  5. spring-messaging:用于构建基于消息的应用程序

       它们的依赖关系

       

     (5)Test模块:

       test部分只有一个模块,我将spring-context-support也放在这吧

  1. spring-test:spring测试,提供junit与mock测试功能
  2. spring-context-support:spring额外支持包,比如邮件服务、视图解析等

  它们的依赖关系

       
更多了解查看官网。

原文:https://blog.csdn.net/m0_37742084/article/details/69870203 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Spring)