在spring2.0升级到spring2.5时就出问题了,第一个问题就是在更换spring.jar后,启动项目时,出现 java.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugIn 错误,其次就是在spring2.5中缺少了一个JAR:spring-mock.jar。我在spring2.5的压缩包里没有找到这个JAR,不过发现了mock的一个源码文件夹。
其实这两个问题都是spring2.5的jar包里没有附带这些类,而是单独放在其它JAR里,详细说明如下:
在Spring 2.5中, Spring Web MVC 不再是 'spring.jar' 文件的一部分. Spring MVC以'spring-webmvc.jar' 和'spring-webmvc-portlet.jar'文件形式在发行包的 lib/modules 目录中存在。 另外,对Struts 1.x的支持被独立成 'spring-webmvc-struts.jar'。
注意: 经常被使用的Spring的DispatcherServlet也是Spring Web MVC框架的一部分。因此,就算你只是为了远程访问(例如,暴露Hessian或者 HTTP调用服务)而使用DispatcherServlet,你也得将'spring-webmvc.jar'(或者 'spring-webmvc-portlet/struts.jar')放到'spring.jar'旁边去。
Spring 2.5的 'spring-test.jar' 取代了'spring-mock.jar',表达其对test context framework的强烈关注。 注意 'spring-test.jar' 包含了上个版本 'spring-mock.jar'中的一切,因此如果是单元或集成测试,可以直接取代
解决办法:第一个问题是因为我的系统使用的是Struts1.2,所以还应该加入'spring-webmvc-struts.jar'包就可以了。第二个问题只要加入'spring-test.jar' 包就可以了,应该说,还是比较容易解决的,只要我们了解一下spring2.5与2.0的差别就会知道了。
spring2.0与spring2.5的差别
支持的JDK版本
Spring 2.5对JDK 1.3已经不再支持,因为Sun官方从2006晚期已经正式将JDK 1.3淘汰。请升级到JDK 1.4.2或更高版本。
Spring 2.5的Jar打包
◆在Spring 2.5中, Spring Web MVC 不再是 'spring.jar' 文件的一部分. Spring MVC以'spring-webmvc.jar' 和'spring-webmvc-portlet.jar'文件形式在发行包的 lib/modules 目录中存在。 另外,对Struts 1.x的支持被独立成 'spring-webmvc-struts.jar'。
注意: 经常被使用的Spring的DispatcherServlet也是Spring Web MVC框架的一部分。因此,就算你只是为了远程访问(例如,暴露Hessian或者 HTTP调用服务)而使用DispatcherServlet,你也得将'spring-webmvc.jar'(或者 'spring-webmvc-portlet/struts.jar')放到'spring.jar'旁边去。
◆Spring 2.0的 'spring-jmx.jar' 和 'spring-remoting.jar'已经被转移到 Spring 2.5的'spring-context.jar' (针对 JMX 和非HTTP 远程支持),部分转移到 'spring-web.jar' (针对HTTP 远程支持)。
◆Spring 2.0 的 'spring-support.jar' 被改名为 'spring-context-support.jar', 更好的表达其真实含义。 'spring-portlet.jar' 被改名为 'spring-webmvc-portlet.jar',表明它是Spring Web MVC framework的子模块之一。 类似的, 'spring-struts.jar' 被改为'spring-webmvc-struts.jar'。
◆Spring 2.0的'spring-jdo.jar', 'spring-jpa.jar', 'spring-hibernate3.jar', 'spring-toplink.jar' 和 'spring-ibatis.jar' 被合并到Spring 2.5大粒度的'spring-orm.jar'中。
◆Spring 2.5的 'spring-test.jar' 取代了'spring-mock.jar',表达其对test context framework的强烈关注。 注意 'spring-test.jar' 包含了上个版本 'spring-mock.jar'中的一切,因此如果是单元或集成测试,可以直接取代。
◆ Spring 2.5的 'spring-tx.jar' 取代了 'spring-dao.jar' 和'spring-jca.jar' 文件,表达其对transaction framework的强烈关注。
◆Spring 2.5 将其jar文件直接作为OSGi兼容的bundle。这使得在OSGi环境中使用Spring 更加方便,不再需要定制打包了。
XML配置
Spring 2.0的XSD在描述Spring XML元数据格式方面比先前的DTD更丰富。 旧的DTD仍然得到支持,但如果可能我们鼓励在bean定义文件头部引用XSD文件。
有一点被改变了,那就是定义bean作用域的方式。如果你使用的是Spring 1.2 DTD,那么你能继续用'singleton'属性。如果你选择引用新的Spring 2.0 DTD,它不允许使用'singleton'属性,那么可以用'scope'属性来定义bean的生命周期作用域。
Deprecated(淘汰)的类和方法
一些以前被标记为@deprecated的类和方法Spring 2.0代码库中被完全删除了。 Spring团队决定把2.0版本作为一个新的开始,那些被deprecated的代码应该被除去而不是在可预见的未来继续在代码中出现。
下面的类/接口已经从Spring 2.0的代码中删除了:
ResultReader : 使用RowMapper接口代替。
BeanFactoryBootstrap : 考虑使用一个BeanFactoryLocator 或是自定义引导类代替
Apache OJB
Spring 2.0开始,请注意Spring主代码中的Apache OJB支持被完全删除了; 但仍然可以在Spring Modules项目中找到Apache OJB的集成库。
iBATIS
请注意iBATIS SQL Maps 1.3支持被完全去除了。如果你还在使用iBATIS SQL Maps 1.3, 请升级到iBATIS SQL Maps 2.0/2.1。
Hibernate
Spring 2.5中,对 Hibernate 2.1 和 Hibernate 3.0 的支持已经去除。请升级到Hibernate 3.1或更高版本。
如果你需要继续使用Hibernate 2.1或3.0,我们建议你继续使用Spring 2.0.7/2.0.8,这些版本仍然支持Hibernate的那些版本。
JDO
Spring 2.5中,对JDO 1.0 的支持被去除。请升级到JDO 2.0或更高版本。
如果你需要继续使用JDO 1.0,我们建议你继续使用spring 2.0.7/2.0.8,这些版本仍然支持JDO 1.0。
UrlFilenameViewController
从Spring 2.0起,UrlFilenameViewController所决定的view名字现在考虑了request中的嵌套路径。这是对原始 UrlFilenameViewController约定的重大修改,意味着如果你从Spring 1.x升级到Spring 2.x,并且你在使用这个类,你可能必须小小的修改你的Spring Web MVC配置。请参考UrlFilenameViewController 的类Javadoc,来查看新的view name determination的约定的示例。
分享到:
相关推荐
从Spring 2.0升级到Spring 3.0.5是一个重要的版本迭代,因为每个新版本通常会引入新的特性和性能优化。 Spring 2.0是Spring框架的一个里程碑,它引入了AOP代理、JDBC抽象层、对JSF的支持以及对portlet的集成。然而...
SPRING2.0与2.5包的对应SPRING2.0与2.5包的对应
本主题将深入探讨Spring 2.0、2.5版本的MVC特性和Portlet MVC的相关知识。 首先,Spring 2.0在MVC方面引入了显著的改进,包括: 1. **依赖注入(DI)**:Spring 2.0增强了对MVC组件的依赖注入支持,允许开发者更...
从Spring2.0到Spring2.5及以后的版本,Spring框架在jar包的组织方式上发生了显著的变化。这种模块化的改进不仅使得框架本身更加灵活,同时也让开发者能够更加专注于自己项目的核心功能,提高了开发效率。在实际项目...
在Spring框架中,定时任务的处理是一个重要的功能,它允许开发者在特定的时间间隔执行某些任务,这正是“Spring2.0 2.5定时触发器”所涉及的核心内容。在Spring 2.0和2.5版本中,定时任务的实现主要依赖于`org....
《spring2.0.chm》文档则专注于Spring 2.0版本,这个版本引入了许多新特性和改进,例如: - **AspectJ集成**:Spring 2.0开始支持全注解的AOP,通过AspectJ的编译时或运行时织入,使切面编程更加直观。 - **JSR-250...
Spring 2.0.x和2.5版本是该框架发展过程中的两个重要里程碑,它们引入了许多关键特性,提升了开发效率和代码质量。下面将详细探讨这两个版本中的核心知识点。 首先,Spring 2.0版本是Spring框架的一个重大更新,...
Spring 2.5 和 Struts 2.0 集成是 Java Web 开发中一个常见的技术组合,它结合了 Spring 框架的强大功能和 Struts 2 框架...Struts 2_Spring2.5 的完整源码下载可以帮助开发者深入理解这种集成方式,进一步学习和实践。
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,通常被称为SSH(Struts2、Spring、Hibernate)集成框架。这个组合在2000年代末到2010年代初广泛应用于构建大型、复杂的企业级Web应用。SSH框架...
标题 "Spring2.5 Struts2.0 TopLink Ext2例子" 涉及到的是一个集成使用四个关键开源框架的示例项目,这些框架在Web应用开发中扮演着重要角色。下面将详细介绍这些框架以及它们如何协同工作。 1. **Spring**(2.5...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架,它们在2000年代末至2010年初广泛应用于构建大型Web应用程序。这三大框架的集成提供了完整的MVC(Model-View-Controller)架构,支持服务层和持久层...
struts2.0+spring2.5+hibernate3.0整合框架,下载导入到eclipse下即可。。启动tomcat前先修改jdbc.properties文件。由于lib文件较大,所以请自行导入相关lib包。
在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成,以便在我们的应用程序中实现高效、可扩展的缓存管理。Ehcache是一款广泛使用的开源Java缓存解决方案,而Spring框架则为它提供了一个方便的集成层,...
Struts2.0、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的组合常被用于构建高效的企业级应用。这个压缩包集合提供了这三大框架的兼容性版本,旨在解决集成过程中可能出现的jar包冲突问题。 **...
标题 "spring2.5 struts2.0 hibernate3.1" 涉及到的是一个经典的Java企业级开发框架组合,通常被称为“SSH”(Spring、Struts和Hibernate)。这个组合在过去的许多年里被广泛应用,为构建高效、可维护的Web应用程序...
本文将深入探讨如何将Spring 2.5、Struts 2.0和Hibernate 3.3这三大组件集成,以构建一个高效、灵活的Web应用程序。 **Spring框架** Spring是一个轻量级的容器框架,它提供依赖注入(DI)和面向切面编程(AOP)功能...
Spring 2.5在ORM方面的改进包括对JPA 2.0的支持和更灵活的事务策略。 6. **UML框架图**:提供的"spring 2.5框架图"很可能是用UML(统一建模语言)绘制的,它展示了Spring 2.5各模块之间的关系和交互。通过这样的...
本项目"Structs2.0+Spring2.5+Ibatis整合例子"就是这样一个示例,展示了如何将Struts2、Spring和iBatis这三个流行的技术栈整合在一起,以实现MVC(模型-视图-控制器)架构。以下将详细阐述这三个框架的核心功能以及...
Struts2.0、Spring2.5和Hibernate3.0是Java Web开发中经典的三大框架,它们各自在应用程序的不同层面提供了强大的支持,并且通过合理的整合,可以构建出高效、灵活的MVC(Model-View-Controller)架构的应用程序。...
Struts 2.0、Spring 2.5 和 Ext 是三个在Java Web开发中非常重要的框架,它们共同构建了一个高效且灵活的企业级应用系统。这个压缩包文件包含了使用这三个技术栈构建的系统的源代码,对于初级程序员来说,这是一个...