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>
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 |