`
wangshiyang
  • 浏览: 69216 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于spring3集成hibernate进行junit测试的错误总结

阅读更多
今天对框架功能进行整合,用的是spring2.5的框架,本来想换新的,但是公司不让,没办法,需要对整合后的功能进行测试,拿了个spring-test.jar包测试,本来想用注解方式进行测试的,奈何不给力,没办法只能使用AbstractTransactionalDataSourceSpringContextTests这个过时的类进行测试了.
关于注解的方法我这里给个网址,不要被E文吓到,其实很好看懂的.
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/testing.html

哈哈,如果用的是spring老的框架的话会出现NoSuchMethodError (BeanUtils.instantiateClass) running JUnit4 tests in Eclipse 类似的错误的,看了下社区他们提交的错误,意思就是不支持老版本的,需要换spring3的jar包才行.给个网站,大家看下.
http://forum.springsource.org/showthread.php?125062-NoSuchMethodError-(BeanUtils-instantiateClass)-running-JUnit4-tests-in-Eclipse

这个方法用不成,只能使用过时的方法进行测试了,给个代码.
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
import org.springframework.test.context.transaction.TransactionConfiguration;

import com.magus.message.dao.MessageDao;
import com.magus.message.service.MessageService;
import com.magus.message.vo.MessageFormBean;
@TransactionConfiguration(defaultRollback=false)
public class SpringHibernateTest extends AbstractTransactionalDataSourceSpringContextTests{	
	@Override
	public String[] getConfigLocations(){
		String[] config=new String[]{"/spring/applicationContext.xml","/spring/message-service.xml"};
		return config;
		
	}
	@Test
	public void test() {
		MessageService ms=(MessageService) applicationContext.getBean("messageService");
		SessionFactory sf=(SessionFactory) applicationContext.getBean("openplantSessionFactory");
		Session s=sf.openSession();
		Transaction tx=s.beginTransaction();
		
		MessageDao md=(MessageDao) applicationContext.getBean("messageDao");
		MessageFormBean sm=new MessageFormBean();
//		Date d=sdf.parse((new Date()).toString());
		sm.setMessageContent("wo ai shuangxi");
		sm.setOtherPhones("12345678");
		tx.begin();
		ms.createMessage(sm);
		tx.commit();
	}
}

这个是个junit的测试用例,不过这里有个问题,我没怎么去搞,就是junit自动对数据回滚了,就算设置了@TransactionConfiguration(defaultRollback=false)也不行.
没办法又用了一个方法,上代码
public static void main(String[] args) {
		args=new String[]{"/spring/applicationContext.xml","/spring/message-service.xml"};
		BeanFactory factory=new ClassPathXmlApplicationContext(args);
		MessageService ms=(MessageService) factory.getBean("messageService");
		MessageFormBean sm=new MessageFormBean();
//		Date d=sdf.parse((new Date()).toString());
		sm.setMessageContent("wo ai shuangxi");
		sm.setOtherPhones("12345678");
		ms.createMessage(sm);

用这种方法可以插入数据,而且不会回滚.
大家有问题或者意见的可以交流.
分享到:
评论

相关推荐

    hibernate和junit的jar

    标题中的“hibernate和junit的jar”指的是两个重要的Java开发工具——Hibernate...在实际项目中,可能还需要结合其他工具和库,如Spring框架来进一步管理和集成Hibernate,以及使用Maven或Gradle等构建工具来管理依赖。

    Spring+Hibernate 加入JUnit Jar包

    在IT行业中,Spring和Hibernate是两个非常重要的框架...通过以上步骤,你已经成功地将Spring、Hibernate和JUnit整合到了项目中,可以进行高效的开发和测试工作。记得持续更新依赖库,以获取最新的安全修复和功能改进。

    spring4配置hibernate3

    这个压缩包文件“spring4-hibernate3-demo”很可能是包含了一个示例项目的源代码,用于演示这种集成。 首先,我们需要理解Spring 4和Hibernate 3的基本概念。Spring是一个全面的开源应用框架,它提供了依赖注入、...

    JUnit(针对spring和hibernate)

    总的来说,结合JUnit、Spring和Hibernate进行测试,能够确保应用程序的各个层面都得到了充分验证,提高代码质量并减少潜在的bug。通过学习和实践这些测试技术,开发者可以构建更稳定、更易于维护的Java应用程序。

    Spring集成Hibernate myeclipse 下

    总结来说,Spring集成Hibernate在MyEclipse环境下,主要是通过配置Spring的IoC容器和事务管理,结合Hibernate的ORM能力,实现高效的数据库操作。这个过程涉及到了项目结构、配置文件、实体类、DAO、Service等多个...

    spring4+hibernate4整合例子

    接下来,我们将深入探讨Spring4、Hibernate4以及JUnit测试的重要知识点。 首先,Spring4作为一款全面的轻量级应用框架,提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, ...

    spring-Hibernate整合代码测试过程

    总结起来,"spring-Hibernate整合代码测试过程"涉及了Spring框架的依赖注入、事务管理、以及与Hibernate的整合,同时也涵盖了Hibernate的实体映射、DAO设计和事务控制。通过这个过程,我们可以构建出一个高效、健壮...

    spring3与hibernate3整合全部jar包

    Spring3和Hibernate3是两个非常重要的Java开发框架,它们在企业级应用开发中扮演着核心角色。Spring是一个全面的后端应用框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及大量的集成工具。而...

    spring3.2+hibernate4.0整合

    7. **测试和运行**:完成上述配置后,可以通过JUnit或其他测试工具进行单元测试,确保各个组件能正常工作。然后,部署到服务器并运行应用,查看是否能够正确连接数据库,进行数据操作。 以上就是Spring3.2与...

    springmvc5+hibernate5+junit4+log4j2整合实例

    在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    spring3+hibernate4+maven+junit 多库多数据源实现

    总的来说,"Spring3+Hibernate4+Maven+jUnit 多库多数据源实现"是一个综合性的技术实践,它涉及到多个关键组件的集成,通过灵活的配置和编程,可以有效地处理企业级应用中复杂的数据库管理需求。这样的配置不仅提高...

    基于spring boot 2集成hibernate及thymeleaf的简单实例

    在本文中,我们将深入探讨如何在Spring Boot 2框架中集成Hibernate ORM和Thymeleaf模板引擎,构建一个简单的Web应用程序。Spring Boot以其简洁的配置和开箱即用的特性,已经成为Java领域开发微服务和Web应用的首选。...

    Spring MVC3和Hibernate3整合的源码

    6. **测试与调试**:整合后的项目应该包含单元测试和集成测试,例如使用JUnit和Mockito进行Service层的单元测试,以及使用Spring Test和Hibernate Test进行整合测试,确保各个组件协同工作。 7. **应用结构**:一个...

    SSH(struts2,Hibernate,Spring)整合及测试亲测可用

    SSH,即Struts2、Hibernate和Spring的组合,是Java Web开发中的一种经典框架集成,用于构建企业级的MVC(Model-View-Controller)应用。这个整合旨在提供一个高效、灵活且可扩展的开发环境,使开发者可以专注于业务...

    springmvc spring hibernate整合Demo

    3. 集成Hibernate:配置Hibernate的SessionFactory,指定数据库连接信息、实体类映射文件等。然后,通过Spring的HibernateTemplate或SessionFactoryBean,将Hibernate集成到Spring中,以便在Controller中方便地进行...

    用Maven搭建Spring+Spring MVC+Hibernate框架

    总结起来,使用Maven在Eclipse中搭建Spring+Spring MVC+Hibernate框架涉及以下步骤: 1. 创建Maven项目,配置`pom.xml`。 2. 配置Spring和Spring MVC的XML配置文件。 3. 设置Hibernate配置,创建实体类。 4. 构建Web...

    Spring3+Struts2+Hibernate3 全注解集成开发

    2. 测试:单元测试和集成测试是确保代码质量的重要环节,可以使用JUnit和其他测试框架配合Spring Test和Hibernate Test模块进行。 3. 安全性:考虑使用Spring Security或者Struts2的安全插件来保护应用程序,防止...

    Hibernate4+spring3整合简单测试

    【标题】:“Hibernate4+Spring3整合简单测试” 在Java Web开发中,Hibernate和Spring是两个非常重要的框架。Hibernate是一个对象关系映射(ORM)工具,它允许开发者使用面向对象的方式来操作数据库,而Spring则是...

    hibernate+spring +ant+junit

    总结来说,这个项目展示了Java开发中常见的一套技术组合,通过Hibernate和Spring进行数据层和业务层的交互,使用Ant进行构建自动化,利用JUnit保证代码质量,而C标签则提供了用户友好的前端分页体验。这样的组合在...

Global site tag (gtag.js) - Google Analytics