Spring:Spring的各jar包依赖及作用详解

spring-core.jar(必须有的核心jar包)

这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。

外部依赖Commons-Logging。

可以看出core只依赖commons-logging

spring-beans.jar(IOC容器必备jar包)

这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。

外部依赖spring-core。


beans依赖于core

spring-expression(表达式解析)

Spring Expression是Spring框架中一个强大表达式解析语言,支持在运行时动态的解析表达式给对象赋值。Spring Expression支持如下解析功能:

布尔和关系运算符,正则表达式,类表达式,访问属性、数组列表,哈希表,方法调用,关系运算,赋值,调用构造函数,Bean引用,数组构造,内联列表,三元运算符,变量,用户自定义函数,集合操作,模板化表达式。按类型分配可以总结成以下几个类型的解析功能:

1、基本表达式:字面量表达式、关系,逻辑与算数运算表达式、字符串连接及截取表达式、三目运算及Elivis表达式、正则表达式、括号优先级表达式; 

2、类相关表达式:类类型表达式、类实例化、instanceof表达式、变量定义及引用、赋值表达式、自定义函数、对象属性存取及安全导航表达式、对象方法调用、Bean引用; 

3、集合相关表达式:内联List、内联数组、集合,字典访问、列表,字典,数组修改、集合投影、集合选择;不支持多维内联数组初始化;不支持内联字典定义; 

4、其他表达式:模板表达式。 

外部依赖spring-core。

expression依赖于core

spring-tx(事务包)

为JDBC、Hibernate、JDO、JPA、Beans等提供的一致的声明式和编程式事务管理支持。

外部依赖spring-beans。

tx要依赖于beans

spring-jdbc

这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。

外部依赖spring-tx。

jdbc要依赖于tx

spring-aop

这个jar 文件包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。

使用基于AOP 的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。

 

外部依赖spring-beans,spring-core,spring-aoplliance。

aop要依赖于beans , core , aopaliance

 

 

spring-aspects

提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT

aspects并不依赖beans,它是aspectJ的整合包,只依赖于aspectJ

aspects为aspectJ的整合包并不依赖于beans

spring-context

这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。

外部依赖spring-beans,spring-expression和spring-aop。

这里写图片描述

spring-web

这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web ApplicationContext 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。

外部依赖spring-context就好。


这里写图片描述

spring-webmvc

这个jar 文件包含Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。

外部依赖spring-web就好。


这里写图片描述

文章整合至:https://blog.csdn.net/zxc456733/article/details/78854326 、https://blog.csdn.net/a909301740/article/details/78332991

原文地址:https://www.cnblogs.com/nhdlb/p/12420754.html