@Transactional会在Spring 3中自动回滚事务吗?

时间:2012-08-05 00:25:28

标签: spring unit-testing transactions

我正在作为单元测试运行,即使我在春季3.1中没有使用@rollback,它也会自动返回。 我的测试看起来像

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:application-context.xml" })
public class PersonServiceTest {

    @Test
    @Transactional
    public void savePerson() {
            Person person = createPerson();
            personService.savePerson(person);
    }
}

默认情况下是否设置了回滚行为?

1 个答案:

答案 0 :(得分:14)

默认情况下,SpringJUnit4ClassRunner会自动回滚交易。

要取消效果,请在测试类上使用@TransactionConfiguration(defaultRollback=false)或在每项测试中使用@Rollback(false)