一. 起因
因为在项目中遇到spring版本升级,spiring 3.1.0.CI-995 升级到 3.1.0.RELEASE,同样是3.1.0,但是包间的关系相差甚多,导致maven直接修改版本号后,spring相关包不存在。程序不能正常编译。
尝试通过maven中不能通过的项修改回原来的版本号,代码编译成功,但是运行是报错。原因很简单,3.1正式版要比之前的过渡版本修改的内容多很多,有很多修改,原有的配置文件中的配置项不在被使用。
配置文件按exception的信息修正后,代码正常启动。那么在保障程序正常启动后,就需要考虑一个问题了,为什么那些spring相关的包没有正式版呢?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<!-- <version>3.0.7.RELEASE</version> -->
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.0.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.0.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
......
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-transaction</artifactId>
<version>3.1.0.CI-995</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web-portlet</artifactId>
<version>3.1.0.CI-995</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web-servlet</artifactId>
<version>3.1.0.CI-995</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web-struts</artifactId>
<version>3.1.0.CI-995</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
二. 大版本升级后的包合并
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'
三. spring各jar说明
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
四. 包间依赖
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
注意:因为部分内容是网上直接引用过来,我并没有去验证,所以肯定有不准确的地方,仅用于参考使用。
分享到:
相关推荐
spring4.x中的jar包下载,spring4.0.6下载,spring最新稳定版jar包下载 http://maven.springframework.org/release/org/springframework/spring/ 这个链接中有各种稳定版的jar包下载 目前官网上大部分都要maven下载
对于Spring4.X版本的适合,因为Spring3.0和Spring4.0有使用差距
详细介绍了Spring1.x 和Spring2.x 版本上使用有什么区别
spring4.x
Classes contained in spring-mock.jar: org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi....
精通Spring2.x企业应用开发详解全书源码+大量电子书+jar包(1)精通Spring2.x企业应用开发详解全书源码+大量电子书+jar包(1)
《Spring 3.x 企业应用开发实战》一书的部分lib包
有关spring注解方面的应用,很实用的,希望会帮助到有需要的people
本博客中依赖的jar包下载, https://blog.csdn.net/Hello_World_QWP/article/details/80652618 jar包中的版本具体如下: spring-core-4.1.6.RELEASE.jar spring-core-4.3.10.RELEASE.jar spring-core-4.3.12.RELEASE...
Spring4.X教学视频,教会你如何一步一步搭建spring项目。
精通Spring 4.x 企业应用开发实战 陈雄华 PDF,清晰而且有标签,目录,非常好,谢谢分享。精通Spring 4.x 企业应用开发实战 陈雄华 PDF,清晰而且有标签,目录,非常好,谢谢分享。
搜集了好久,spring API中文文档。</br> 有3.x版本和2.x版本 pdf html chm三种格式 pdf均带完整书签 网络上目前没有4.x版本
Spring3.x企业应用开发实战(包括源码)绝对完整版 因未见太大,分8个小块(其他部分在本人资料里面查找),只有前4个每个收1分,后面4个免费下载,共4分,绝对完整,包含所有章节,不完整浏览分享
org.springframework.aop-3.0.4.RELEASE.jar org.springframework.asm-3.0.4.RELEASE.jar org.springframework.aspects-3.0.4.RELEASE.jar org.springframework.beans-3.0.4.RELEASE.jar org.springframework....
org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包,org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3....
精通Spring2.x企业应用开发详解.rar精通Spring2.x企业应用开发详解.rar精通Spring2.x企业应用开发详解.rar精通Spring2.x企业应用开发详解.rar
部署构建Spring5.0.x版本源码教程参考.html,这是一份基于Spring.5.0.x版本的教程,使用idea构建+gradle构建
spring 3.x企业应用开发实战所需要的jar包
spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....
精通Spring2.x企业应用开发详解全书源码+大量电子书+jar包(1)精通Spring2.x企业应用开发详解全书源码+大量电子书+jar包(1)