spring 做持久层测试的问题

问题描述

代码是这样的import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;import com.tnt.dao.TntUserDAO;/** * @author Administrator * */public class testUserDAO extends AbstractTransactionalDataSourceSpringContextTests {private TntUserDAO userDao;/** *//** * @return 返回 userDao。 */ public TntUserDAO getUserDAO() { return userDao; } /** *//** * @param exQqueryDAO 要设置的 exQqueryDAO。 */ public void setUserDAO(TntUserDAO userDao) { this.userDao = userDao; }/** * */public String[] getConfigLocations(){String[] result = {"file:web//WEB-INF//applicationContext.xml"};return result;}public void testSave(){System.out.println("userDao = "+ userDao);}/** * *//** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubjunit.textui.TestRunner.run(testUserDAO.class);}}运行后出现了java.lang.NoSuchMethodError: org.springframework.util.ObjectUtils.nullSafeToString(Ljava/lang/Object;)Ljava/lang/String;at org.springframework.test.AbstractSpringContextTests.contextKeyString(AbstractSpringContextTests.java:134)at org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpringContextTests.java:101)at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:83)at junit.framework.TestCase.runBare(TestCase.java:125)at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)at junit.framework.TestResult$1.protect(TestResult.java:106)at junit.framework.TestResult.runProtected(TestResult.java:124)at junit.framework.TestResult.run(TestResult.java:109)at junit.framework.TestCase.run(TestCase.java:118)at junit.framework.TestSuite.runTest(TestSuite.java:208)at junit.framework.TestSuite.run(TestSuite.java:203)at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)求各位解决问题补充:自己解决了 是spring-mok。jar 的版本问题使用eclipse AddLibrary 重新添加一下就好了 呵呵 谢谢llade (高级程序员)的回答 这个是我的另外一个问题 不过解决不是// 而是要用class的路径

解决方案

/** * */ public String[] getConfigLocations(){ String[] result = {"file:web//WEB-INF//applicationContext.xml"}; return result; } 这个是不是有问题啊?“/”不是用"//",另外。Spring的api文档中有这么一句。引用WARNING: When doing integration tests from within Eclipse, only use classpath resource URLs. Else, you may see misleading failures when changing context locations.建议你的applicationContext.xml拷贝一份到java源程序文件夹的根目录下吧(通常是src或者JavaSource目录)

时间: 2024-07-28 23:27:12

spring 做持久层测试的问题的相关文章

Unitils+hibernate+Spring+PostgreSql做dao层测试遇到的错误

这两天看陈雄华的书<Spring3.0企业开发实战>17章做dao层的测试,由于使用postgreSql数据库,所以遇到了不少错误,很多问题百度都没找到答案,所以记录下来给遇到同样错误的童鞋做个参考.下面是我遇到的问题: 1.unitils目前还不支持Hibernate4,所以使用hibernate4的童鞋,要么换hibernate3要么自己用dbUnit做测试. 2.org.unitils.core.UnitilsException: Missing configuration for or

《Spring 3.0就这么简单》——1.4 持久层

1.4 持久层 持久层负责数据的访问和操作,DAO类被上层的业务类调用.Spring本身支持多种流行的ORM框架.这里使用Spring JDBC作为持久层的实现技术,关于Spring JDBC的详细内容,请参见第4章的内容.为方便阅读,会对本章涉及的相关知识点进行必要的介绍,所以相信读者在不了解Spring JDBC的情况下,也可以轻松阅读以下的内容.1.4.1 建立领域对象 领域对象(Domain Object)也称为实体类,它代表了业务的状态,一般来说,领域对象属于业务层,但它贯穿展现层.业

同时支持mybatis,hibernate等技术的通用持久层实现思路

java开源平台的技术框架非常丰富,但是开源平台上的权限管理.会员管理之类的纯业务模块往往与某种技术框架耦合在一起,比如与mybatis,hibernate等持久层技术耦合.一旦你选定了某个现成的业务组件,就必须接受他对应的持久层框架.比如如果你选择用知名开源框架jeesite做自己的小型web应用系统,你在用它的权限.cms业务模块的时候,就必须用mybaits做持久化框架,而不能用hibernate或spring jpa之类的,这对于只考虑用hibernate而不打算用mybatis的团队来

MyBatis持久层框架使用总结

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 2013年11月迁移到Github,MyBatis的Github地址:https://github.com/mybatis/mybatis-3.      iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBAT

MyBatis持久层框架的用法知识小结_java

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c

Kodo EJB:符合EJB3规范的持久层框架

规范 Kodo是BEA公司收购SolarMetric公司后获得的持久层框架项目,以前只是支持JDO标准,2006年2月13日,BEA公司宣布发布Kodo项目的最新版本--Kodo 4.0.0 Early Access 4,Kodo 4.0.0 EA4支持EJB3和JDO2两个标准,本文中,我们将首先学习和了解KODO EJB,了解如何使用Kodo EJB完成开发工作. 我们将按照两种不同的情况讲述如何使用Kodo EJB进行开发,一种是通过命令行工具,另外一种是在Eclipse中使用Ant任务.

ASP数据持久层抽象

数据持久层在所有的系统中都存在.对于小型或者中型的ASP应用,这一点往往不受重视.这篇文章试图改善这一现状,以一种简单的方式提供了简化调用ADO相关对象的方法.这种方法的思想可以延伸到其他编程语言,只要这种语言稍微具备一点点面向对象的思想,那么本篇文章将使你收益. 你还在使用ASP吗?我知道ASP虽然被很多高级的企业级应用抛弃,但是像我一样靠ASP起家的开发者,或者开发一些简单WEB应用的开发者,一定在某些时候还在考虑ASP.它简单,容易使用.在访问数据库方面,通过ADO也能够无所不能.然而使用

spring在MVC层解决JPA的缓迟加载问题

作为EJB3.0的一部分,JPA是一个好东西.其简单的配置方式及强大的默认配置支持,使其可以轻松自由的存在于轻量与重量之间,如果现在您的JavaEE项目,不管是选择轻量级构架还是重量级构架,如果持久层不选择使用JPA,而是用一些ORM框架(如Hibernate.TopLink)的专用API,那么在将来的某一天一定会为这个选择而说出至尊宝那句"假如上天再给我一个机会-"的至理名言.下面是一个简单的Entity,是对一个CMS系统中,关于树状信息目录实体类的定义,包括了一些详细的映射的配置

在SCA Module中使用iBATIS框架实现数据持久层

在完成 SCA Module 建模后用 Java 对象进行实现时,采用 Hibernate 和采用 iBATIS 实现 SCA Module 的数据持久层,目的都是为 SDO 提供数据访问服务并加快 SCA 模块实现.前文已经讲过关于如何使用 Hibernate 实现 SCA Module 的数据持久层,本文将介绍 iBATIS 框架,比较 iBATIS 和 Hibernate 的异同,并以实例的方式介绍如何使用 iBATIS 实现 SCA Module 的数据持久层. iBATIS 是一种数据