Spring4 Junit4测试:@TransactionConfiguration VS@Transactional,只使用一个还是一起使用?

Spring4 Junit4测试:@TransactionConfiguration VS@Transactional,只使用一个还是一起使用?,spring,transactions,junit4,Spring,Transactions,Junit4,在我的junit测试用例中: 我只在类或1中使用@transactional,每个测试方法都将回滚,因为每个方法都在运行一个事务。我将它添加到method,然后指定的方法将回滚 我在类中仅使用@TransactionConfigurationdefaultRollback=true,但该事务不起作用 我在类中同时使用@transaction和@TransactionConfigurationdefaultRollback=true,它也将回滚 我的问题: 为什么回滚不能在类中仅使用@Transa

在我的junit测试用例中:

我只在类或1中使用@transactional,每个测试方法都将回滚,因为每个方法都在运行一个事务。我将它添加到method,然后指定的方法将回滚

我在类中仅使用@TransactionConfigurationdefaultRollback=true,但该事务不起作用

我在类中同时使用@transaction和@TransactionConfigurationdefaultRollback=true,它也将回滚

我的问题:

为什么回滚不能在类中仅使用@TransactionConfiguration

我看到@transactional默认bean名称是transaction manager,回滚是TRUE,所以我只在类中添加它,而不是@TransactionConfiguration

@事务必须注释,@TransactionConfiguration是否仅在multi-transactionManager情况下分配事务管理器

@transactional使每个方法都在一个事务中运行,您可以通过@transactional进行配置、隔离等。 您可以在multi-TransactionManager中使用@TransactionManager配置事务管理器。所以,如果只使用此注释,则事务不起作用。 因为每个方法都要在事务中运行,所以可以使用@rollbackalse对其进行更改。 @transactional使每个方法都在一个事务中运行,您可以通过@transactional进行配置、隔离等。 您可以在multi-TransactionManager中使用@TransactionManager配置事务管理器。所以,如果只使用此注释,则事务不起作用。 因为每个方法都要在事务中运行,所以可以使用@rollbackalse对其进行更改。 在中,他们说@TransactionConfiguration已弃用,从Spring Framework 4.2开始,在类级别使用@Rollback或@Commit,在@Transactional中使用transactionManager限定符。

在中,他们说@TransactionConfiguration已弃用,从Spring Framework 4.2开始,在类级别使用@Rollback或@Commit,在@Transactional中使用transactionManager限定符