<properties> <spring.version>4.0.5.RELEASE</spring.version> </properties> <dependencies> <!--spring-core.jar,這個jar文件包含Spring框架基本的核心工具類,Spring其它組件要都要使用到這個包里的類, 是其它組件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <!--spring-beans.jar,這個jar文件是所有應用都要用到的,它包含訪問配置文件、創建和管理bean以及進行Inversion of Control/Dependency Injection(IoC/DI) 操作相關的所有類。如果應用只需基本的IoC/DI支持,引入spring-core.jar及spring-beans.jar文件就可以了。--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <!--spring-context.jar,這個jar文件為Spring核心提供了大量擴展。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI所需的全部類, UI方面的用來與模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的類,以及校驗Validation方面的相關類。--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <!--spring-support.jar,這個jar文件包含支持緩存Cache(ehcache)、JCA、JMX、郵件服務(Java Mail、COS Mail)、任務計划Scheduling(Timer、Quartz) 方面的類。--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <!-- 這個jar 文件包含在應用中使用Spring 的AOP特性時所需的類和源碼級元數據支持。使用基於AOP的Spring特性, 如聲明型事務管理(Declarative Transaction Management),也要在應用里包含這個jar包。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <!-- 這個jar文件包含Web應用開發時,用到Spring框架時所需的核心類, 包括自動載入WebApplicationContext特性的類、Struts與JSF集成類、文件上傳的支持類、Filter類和大量工具輔助類。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <!-- 提供對AspectJ的支持,以便可以方便的將面向方面的功能集成進IDE中,比如Eclipse AJDT。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!-- 為JDBC、Hibernate、JDO、JPA等提供的一致的聲明式和編程式事務管理。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <!-- 這個jar文件包含對Spring對JDBC數據訪問進行封裝的所有類。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <!--對JUNIT等測試框架的簡單封裝 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!--這個jar 文件包含Spring MVC 框架相關的所有類。包括框架的Servlets,Web MVC框架, 控制器和視圖支持。當然,如果你的應用使用了獨立的MVC 框架,則無需這個JAR 文件里的任何類。 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency>
</dependencies>
1.spring-aop-3.2.2.jar
包含在應用中使用spring的aop特性時所需的類。使用注解必需
2.spring-aspects-3.2.2.jar
提供對aspectj的支持,以便可以方便的將面向切面的功能集成進ide中,實現springaop必需
3.spring-beans-3.2.2.jar
springioc(依賴注入)的基礎實現,所有應用都要用到的,它包含訪問配置文件、創建和管理bean以及進行inversion of control / dependency injection(ioc/di)操作相關的所有類。但是這個是個基礎實現,一般我們在實際的開發過程中很少直接用到,它是對起到支撐作用的。
4.spring-context-3.2.2.jar
為spring核心提供了大量擴展。可以找到使用spring applicationcontext特性時所需的全部類,jdni所需的全部類,ui方面的用來與模板(templating)引擎如 velocity、freemarker、jasperreports集成的類,以及校驗validation方面的相關類,還有ejb,cache,format,jms等等。
5.spring-context-support-3.2.2.jar
spring-context 的擴展支持,用於 mvc 方面
6.spring-core-3.2.2.jar
spring的核心包,包含spring框架基本的核心工具類,spring其它組件要都要使用到這個包里的類,是其它
組件的基本核心。包括asm,cglib以及相關的工具類
7.spring-expression-3.2.2.jar
spring表達式語言。
8.spring-instrument-3.2.2.jar
spring對服務器的代理接口。
9.spring-instrument-tomcat-3.2.2.jar
spring對tomcat連接池的集成。
10.spring-jdbc-3.2.2.jar
spring對jdbc的簡單封裝
11.spring-jms-3.2.2.jar
spring對jms(java message service)的封裝,為了簡化對jms api的使用
12.spring-orm-3.2.2.jar
包含spring對dao特性集進行了擴展,使其支持 ibatis、jdo、ojb、toplink,因為hibernate已經獨立成包了,現在不包含在這個包里了。這個jar文件里大部分的類都要依賴spring-dao.jar里的類,用這個包時你需要同時包含spring-dao.jar包。spring 整合第三方的 orm 映射支持,如 hibernate 、ibatis、jdo 以及spring的jpa的支持。
13.spring-oxm-3.2.2.jar
spring 對object/xmi 的映射的支持,可以讓java與xml之間來回切換。
14.spring-struts-3.2.2.jar
struts框架支持,可以更方便更容易的集成struts框架。
15.spring-test-3.2.2.jar
spring對junit框架的簡單封裝。
16.spring-tx.3.2.2.jar
spring提供對事務的支持,事務的相關處理以及實現類就在這個jar包中
17.spring-web-3.2.2.jar
包含web應用開發時,用到spring框架時所需的核心類,包括自動載入webapplicationcontext特性的類、struts與jsf集成類、文件上傳的支持類、filter類和大量工具輔助類。
18.spring-webmvc-3.2.2.jar
spring mvc相關,實現springmvc的操作。
19.spring-webmvc-portlet-3.2.2.jar
spring mvc的增強擴展
下圖為web和webmvc依賴樹:
其實pom中引入webmvc包,項目中就可以自動引入涉及IoC和AOP的包。
pom中引入orm包,就可以引入jdbc包。