其他分享
首页 > 其他分享> > 一起归纳学习Spring-- (2)Spring核心框架体系结构及组件,包含spring3与spring4

一起归纳学习Spring-- (2)Spring核心框架体系结构及组件,包含spring3与spring4

作者:互联网

描述

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar包。那是因为对Spring的框架体系结构和各包的作用不够了解

举个例子

要在java工程使用spring框架,需要哪些jar呢?只要一个

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

要在web工程中引入spring mvc呢?也只要配置一个依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

spring大概有20个左右的jar包,随着spring框架的升级改版,jar数量可能还会增加,jar包之间还存在依赖关系,要想配置Maven依赖,就要理清jar包之间的依赖关系,由此引申出今天要学习的内容:Spring核心框架体系结构及各个包的作用

学习Spring3框架的体系机构

Spring3框架体系结构图

在这里插入图片描述
图中将Spring3主要分为5大模块:核心容器模块(Core Contaioner)、数据访问/集成模块(Data Access/Integration)、Web层(Web)、面向切面编程模块(AOP)、测试模块(Test)。如图所示,图中每个圆角矩形都对应一个jar包,其中Instrumentation有两个jar包。核心容器模块中,spring额外支持包“spring-context-support”未列出,spring3框架总共有19个jar包。

核心容器(Core Contaioner)

Spring的核心容器是其他模块建立的基础,有spring-core、spring-beans、spring-context、spring-context-support和spring-expression等模块组成。

他们之间的依赖关系,如图:
在这里插入图片描述
因为spring-core依赖了commons-logging,而其他模块都依赖了spring-core,所以整个spring框架都依赖了commons-logging,如果有自己的日志实现如log4j,可以排除对commons-logging的依赖,没有日志实现而排除了commons-logging依赖,编译报错。

数据访问/集成模块(Data Access/Integration)

数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。

他们之间的依赖关系,如图:
在这里插入图片描述

Web层(Web)

Web层由spring-web、spring-webmvc、spring-webmvc-portlet和spring-struts模块组成。

他们之间的依赖关系,如图:
在这里插入图片描述

面向切面编程模块(AOP和Instrumentation)

他们之间的依赖关系,如图:
在这里插入图片描述

测试模块(Test)

依赖关系,如图:
在这里插入图片描述

Spring4框架的体系机构

spring4,与spring3结构基本相同,下面是官网给出的结构图
在这里插入图片描述
比较spring3的体系结构图,spring4去掉了spring3中的struts模块,添加了messaging模块和websocket模块,其他模块保持不变。spring的jar包有20个。

引用:
Spring的体系结构详解
Spring核心框架体系结构

标签:Web,框架,spring,jar,模块,Spring,spring3,spring4
来源: https://blog.csdn.net/weixin_42670408/article/details/106919249