Spring4.3入门 Spring 依赖关系
spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar
,所以,搞清楚它们之间的关系,配置maven依赖就可以简洁明了,下面举个例子,要在普通java工程使用spring框架,需要哪些jar呢?只要一个
<properties>
<spring.version>4.3.10.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}}</version>
</dependency>
</dependencies>
// 那要在web工程中引入spring mvc呢?也只要配置一个依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}}</version>
</dependency>
123456789101112131415161718192021
ore
core部分包含4个模块
- spring-core: 依赖注入IoC与DI的最基本实现
- spring-beans: Bean工厂与bean的装配
- spring-context:spring的context上下文即IoC容器
- spring-expression:spring表达式语言
Spring-core依赖commons-logging 所有真个项目都依赖commins-logging
完整的依赖
Moudle | 依赖 |
---|---|
Spring-core | commons-logging |
Spring–beans | Spring-core |
Spring-expresson | Spring-core |
Spring-context | Spring-core,Spring-bean,依赖Spring-aop 以爱 Spring-express |
aop
aop部分包含4个模块
- spring-aop:面向切面编程
- spring-aspects:集成AspectJ
- spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器
- spring-instrument-tomcat:针对tomcat的instrument实现
Moudle | 依赖 |
---|---|
Spring aop | Spring-core Spring-bean 以及aopalliance>aopalliance |
spring-aspects | orj.aspectj>aspectjweaver |
spring-instrumen | |
spring-instrument-tomcat |
data access
data access部分包含5个模块
- spring-tx:事务控制
- spring-jdbc:jdbc的支持
- spring-orm:对象关系映射,集成orm框架
- spring-oxm:对象xml映射
- spring-jms:java消息服务
Moudle | 依赖 |
---|---|
Spring-tx | Spring-core 和 Spring-beans |
Spring-jdbc | Spring-core Spring-beans Spring-tx |
Spring-orm | Spring-core Spring-beans Spring-tx Spring-jdbc |
Spring-oxm | Spring-core Spring-beans |
Spring-jms | Spring-core Spring-beans Spring-tx Spring-aop Spring-context |
web
web部分包含4个模块
- spring-web:基础web功能,如文件上传
- spring-webmvc:mvc实现
- spring-webmvc-portlet:基于portlet的mvc实现
- spring-struts:与struts的集成,不推荐,spring4不再提供
Moudle | 依赖 |
---|---|
Spring-web | Spring-core Spring-beans Spring-aop Spring context |
Spring-websocket | Spring-core Spring-beans Spring context |
Spring-webmvc | Spring-core Spring-beans Spring-express Spring context Spring web |
Spring-messaging | Spring-core Spring-beans Spring context |