spring 2.x 版本升级 spring 3.x (各jar的说明、依赖、合并)

[size=x-large]一. 起因[/size]

因为在项目中遇到spring版本升级,spiring 3.1.0.CI-995 升级到 3.1.0.RELEASE,同样是3.1.0,但是包间的关系相差甚多,导致maven直接修改版本号后,spring相关包不存在。程序不能正常编译。

尝试通过maven中不能通过的项修改回原来的版本号,代码编译成功,但是运行是报错。原因很简单,3.1正式版要比之前的过渡版本修改的内容多很多,有很多修改,原有的配置文件中的配置项不在被使用。

配置文件按exception的信息修正后,代码正常启动。那么在保障程序正常启动后,就需要考虑一个问题了,为什么那些spring相关的包没有正式版呢?


org.springframework
spring-webmvc

3.1.0.RELEASE


org.springframework
spring-web
3.1.0.RELEASE
jar
compile


org.springframework
spring-core
3.1.0.RELEASE
jar
compile

......

org.springframework
spring-transaction
3.1.0.CI-995
jar
compile


org.springframework
spring-web-portlet
3.1.0.CI-995
jar
compile


org.springframework
spring-web-servlet
3.1.0.CI-995
jar
compile


org.springframework
spring-web-struts
3.1.0.CI-995
jar
compile



[size=x-large]二. 大版本升级后的包合并 [/size]

Spring 2.0 --> 2.5
'spring-support.jar' --> 'spring-context-support.jar'
'spring-portlet.jar' --> 'spring-webmvc-portlet.jar'
'spring-struts.jar' --> 'spring-webmvc-struts'
'spring-jmx.jar' --> 'spring-context.jar'
'spring-remoting.jar'--> 'spring-context.jar'


Spring 3.1.0
'spring-transaction' --> 'spring-tx'
'spring-web-servlet' --> 'spring-webmvc'
'spring-web-struts' --> 'spring-webmvc'


Spring 3.2.0
'spring-arm' --> 'spring-core'


[size=x-large]三. spring各jar说明[/size]
spring3.1新特性:
Spring 3.1与之前2.X的不一样,新版本把原来的spring.jar分解了,想要使用哪个功能就导入相应的jar,现给出一些包的说明

// Spring的面向切面编程,提供AOP(面向切面编程)实现
org.springframework.aop-3.1.0.RELEASE

// Spring独立的asm程序,相遇Spring2.5.6的时候需要asmJar包.3.0开始提供他自己独立的asmJar
org.springframework.asm-3.1.0.RELEASE

// Spring提供对AspectJ框架的整合
org.springframework.aspects-3.1.0.RELEASE

// SpringIoC(依赖注入)的基础实现
org.springframework.beans-3.1.0.RELEASE

// Spring-context的扩展支持,用于MVC方面
org.springframework.context.support-3.1.0.RELEASE

// Spring提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等
org.springframework.context-3.1.0.RELEASE

// Spring3.1的核心工具包
org.springframework.core-3.1.0.RELEASE

// Spring表达式语言
org.springframework.expression-3.1.0.RELEASE

// Spring3.1对Tomcat的连接池的集成
org.springframework.instrument.tomcat-3.1.0.RELEASE

// Spring3.1对服务器的代理接口
org.springframework.instrument-3.1.0.RELEASE

// 对JDBC的简单封装
org.springframework.jdbc-3.1.0.RELEASE

// 为简化JMS API的使用而作的简单封装
org.springframework.jms-3.0.0.RELEASE

// 整合第三方的ORM框架,如hibernate,ibatis,jdo,以及spring的JPA实现
org.springframework.orm-3.1.0.RELEASE

// Spring对Object/XMl的映射支持,可以让Java与XML之间来回切换
org.springframework.oxm-3.1.0.RELEASE

// 对Junit等测试框架的简单封装
org.springframework.test-3.1.0.RELEASE

// 为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理
org.springframework.transaction-3.1.0.RELEASE

// SpringMVC的增强
org.springframework.web.portlet-3.1.0.RELEASE

// 对JEE6.0Servlet3.0的支持
org.springframework.web.servlet-3.1.0.RELEASE

// 整合Struts的时候的支持
org.springframework.web.struts-3.1.0.RELEASE

// SpringWeb下的工具包
org.springframework.web-3.1.0.RELEASE


[size=x-large]四. 包间依赖[/size]

Spring包依赖说明:
1) spring-core.jar:
==> commons-collections.jar
==> spring-core.jar

2) spring-beans.jar:
==> spring-core.jar
==> cglib-nodep-2.1_3.jar

3) spring-aop.jar:
==> spring-core.jar
==> spring-beans.jar
==> cglib-nodep-2.1_3.jar
==> aopalliance.jar

4)spring-context.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring- aop.jar
==> commons-collections.jar
==> aopalliance.jar

5) spring-dao.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-aop.jar
==> spring-context.jar

6) spring-jdbc.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-dao.jar

7) spring-web.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-context.jar

8) spring-webmvc.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-context.jar
==> spring-web.jar

9) spring-hibernate.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-aop.jar
==> spring-dao.jar
==> spring-jdbc.jar
==> spring-orm.jar
==> spring-web.jar
==> spring-webmvc.jar

10) spring-orm.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-aop.jar
==> spring-dao.jar
==> spring-jdbc.jar
==> spring-web.jar
==> spring-webmvc.jar

11) spring-remoting.jar(spring-content):
==> spring-core.jar
==> spring-beans.jar
==> spring-aop.jar
==> spring-dao.jar
==> spring-context.jar
==> spring-web.jar
==> spring-webmvc.jar

12) spring-support.jar:
==> spring-core.jar
==> spring-beans.jar
==> spring-aop.jar
==> spring-dao.jar
==> spring-context.jar
==> spring-jdbc.jar

13) spring-mock.jar(spring-test):
==> spring-core.jar
==> spring-beans.jar
==> spring-dao.jar
==> spring-context.jar
==> spring-jdbc.jar

[color=red]
注意:因为部分内容是网上直接引用过来,我并没有去验证,所以肯定有不准确的地方,仅用于参考使用。
[/color]

你可能感兴趣的:(spring,spring-mvc)