0 0

Spring 测试 自动回滚,跨bean查询障碍25

在spring测试中,
配置事务处理为自动回滚,结果也符合,测试过程中对数据库的操作并没有被提交。

问题为:
  Bean A, B,测试类T
  T中通过A 插入数据,在T/A中可以查询到这条记录,
  但是A通过ApplicationContext.publishEvent触发B的行为,此时B无法查询结果为空。

  不知道是事务配置问题,还是测试设置有问题,还请各位大侠不吝指教

//测试配置如下
@ContextConfiguration(locations = {
"file:src/main/resources/conf/applicationContext-*.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@TransactionConfiguration(transactionManager = "transactionProxy", defaultRollback = true)
@Transactional
public class TestXXX
2012年10月26日 16:51
目前还没有答案

相关推荐

    spring 简单实例 事务回滚

    Spring默认只在遇到未检查异常时自动回滚事务,如果需要在特定检查异常下回滚,可以在`@Transactional`注解中指定`rollbackFor`属性。 5. 测试:创建一个测试类,模拟一个业务流程,使得在事务中发生异常,观察事务...

    spring-控制事物回滚

    "spring-控制事物回滚"这个主题主要涉及Spring如何在出现异常时自动或手动触发事务的回滚,以及如何配置和使用Spring的事务管理机制。我们将深入探讨Spring事务管理的原理、API使用以及在实际开发中的应用。 首先,...

    JavaEE spring半自动bean管理事务案例

    本案例将深入探讨Spring如何实现半自动的bean管理以及事务控制。 首先,Spring通过依赖注入(Dependency Injection,DI)来管理bean。这种设计模式允许我们不直接创建对象,而是通过配置文件或注解告诉Spring如何...

    Spring事务管理A方法内部调用B方法的回滚问题测试代码

    此外,需要注意的是,只有当事务边界内的异常是未检查异常(继承自RuntimeException的异常)或者是`Error`时,Spring才会自动回滚事务。对于已检查异常(继承自Exception的非RuntimeException),除非显式声明`@...

    Spring/SpringMVC/MyBatis整合+事务回滚

    7. **实现事务回滚**:当在@Transactional注解的方法中发生异常时,Spring会自动回滚事务。例如,如果在保存数据时发生错误,整个事务将被回滚,保证数据的一致性。 8. **测试与调试**:完成整合后,通过编写单元...

    带事务回滚测试的SSH整合小案例(Spring 3.2+Hibernate 3.3+Struts 2.3)

    集成了Spring 3.2.2 Hibernate 3.3.2 Struts 2.3.4 用JPA的注解实现orm 不用创建数据库表 只需本机上有oracle即可 用JSR注解进行Spring的...用Spring Test整合Junit4 进行测试并自动事务回滚 不对数据库造成持久化操作

    Spring中@Transactional事务回滚(含实例

    1. **默认回滚规则**:如果在`@Transactional`方法中抛出未检查异常(继承自`RuntimeException`的异常)或者`Error`,Spring将自动回滚事务。 2. **非默认回滚规则**:对于受检异常(即没有继承自`RuntimeException`...

    Spring+Mybatis整合事务回滚

    花了一晚上时间终于搞出来了Spring整合Mybatis事务回滚(Mysql数据库),控制Service层中的多次插入操作,多次操作整体是一个事务。 里面有缘嘛和jar包,资源为war包,导入即可。运行Test类中的测试代码即可。 建表...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> </bean> ``` #...

    Spring测试框架.rar

    `@Transactional`注解可以在每个测试方法前后自动开始和提交/回滚事务,确保测试的隔离性。 5. **模拟对象**:在测试中,我们有时需要替换实际的协作对象以避免副作用或提高测试速度。Spring提供了`@MockBean`和`@...

    Spring中的@Transactional事物回滚实例源码

    在这个例子中,`createUser`方法被标记为事务性的,如果在方法内部抛出未捕获的异常,Spring会自动回滚事务,确保数据一致性。 Spring事务管理的工作流程大致如下: 1. **AOP代理**:Spring使用AOP(面向切面编程)...

    spring整合单元测试Junit开发包

    8. **AOP代理测试**: Spring Test模块提供了`@Rollback`和`@DirtiesContext`注解,前者用于在测试后自动回滚事务,后者标记测试可能污染了上下文,需要在下次测试前重新加载。 9. **AssertJ和Hamcrest**: Spring ...

    Spring-test做数据库操作的单元测试2-跨库访问

    这篇博客"Spring-test做数据库操作的单元测试2-跨库访问"探讨了如何利用Spring-test进行数据库操作的测试,尤其是涉及到跨库访问的场景。在企业级应用开发中,常常需要处理多个数据库的情况,例如主从数据库、读写...

    spring事务异常回滚实例解析

    这意味着,如果在业务代码中对异常进行了捕获并处理,而没有再抛出异常,那么事务将不会自动回滚。例如,在提供的代码实例中,第一种情况: ```java if(userSave){ try { userDao.save(user); ...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...

    Spring中进行集成测试

    通过这个注解,你可以将测试类与Spring的ApplicationContext关联起来,使测试类可以访问到容器中的bean。 2. **测试配置**:在Spring测试中,你可以使用`@ContextConfiguration`注解来指定配置文件或带有`@...

    浅谈Spring中@Transactional事务回滚及示例(附源码)

    浅谈Spring中@Transactional事务回滚及示例 @Transactional是Spring Framework中的一种事务管理机制,用于管理数据库事务。它可以使得数据库操作更加安全和可靠。本文将详细介绍@Transactional的使用场景、checked...

    使用 Spring 2.5 TestContext 测试框架

    默认情况下,每个测试方法都会在一个新的数据库事务中运行,事务会在方法执行完毕后自动回滚,确保测试的隔离性。你可以通过`@Transactional`注解来开启或关闭事务管理: ```java import org.springframework.test....

Global site tag (gtag.js) - Google Analytics