https://blog.csdn.net/a909301740/article/details/78332991
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
在用maven搭建web项目的时候,引用大量的jar包,经常会出现jar的版本冲突,这主要是因为不了解各个jar之间的依赖关系导致的,所以整理一些常用的jar之间的依赖关系。
spring的主要模块:
IOC
core:资源访问,类型转换
beans:bean工厂
expression:${}获取属性
context:核心接口ApplicationContext
AOP
aop:面向切面编程的实现
aspects:对AspectJ的整合
DAO
jdbc:通过jdbc模板类访问数据库
tx:事务的实现
orm:与hibernate,mybatis的集成
oxm:对象与xml数据之间的相互转换
jms:系统之间发送消息,异步通信
Web
web:与web项目的整合
webmvc:子模块springMVC
Test
test:测试
spring常用jar包之间的依赖关系:
在这里只记录我的项目中目前常用的几个jar,使用的是MyEclipse的插件查看pom文件中声明的依赖,我的项目名是sysmgr
spring-core:
可以看出core只依赖commons-logging
spring-beans
beans依赖于core
spring-expression
expression和beans一样依赖于core
由于context关系相对复杂,所以先查看其它的jar的依赖关系
spring-tx
tx要依赖于beans
spring-jdbc
jdbc要依赖于tx
spring-aop
aop直接依赖于beans,core,aoplliance
spring-aspects
aspects并不依赖beans,它是aspectJ的整合包,只依赖于aspectJ
spring-context
context要依赖于beans,expression和aop
spring-web
记住web依赖于context就好
spring-webmvc
记住webmvc依赖于web就好