2015-04-15 59 views
2

在我的JUnit測試案例:Spring4 Junit4測試:@TransactionConfiguration VS @Transactional,只使用一個還是一起使用?

  1. 我在班級或一個只使用@Transactional,每個測試方法將回滾,因爲內運行的事務中的每個方法。我在方法中添加它,然後分配的方法將回滾。

  2. 我只在類上使用@TransactionConfiguration(defaultRollback = true),但事務不起作用。

  3. 我一起使用@transaction和@TransactionConfiguration(defaultRollback = true),它也會回滾。

我的問題:

  1. 爲什麼回滾是不是隻有在@TransactionConfiguration類工作?

  2. 我看到@transactional默認bean名稱是事務管理器和回滾是真的,所以我只添加它在類而不是@TransactionConfiguration?

  3. @transactional必須註釋,是@TransactionConfiguration只分配事務管理器在multi-transactionManager的情況下?

回答

0
  1. @Transactional使每個方法的事務中通過@Transactional上運行,並且可以配置,隔離等。
  2. 您可以在多TransactionManager中使用@TransactionManager配置事務管理器。所以如果你只使用這個註解,交易是行不通的。
  3. 因爲每個方法都要在一個事務中運行,所以你可以用@RollBack(false)來改變它。
相關問題