01 |
@RunWith (SpringJUnit4ClassRunner. class ) |
02 |
@ContextConfiguration ( "/beans.xml" ) |
04 |
@TransactionConfiguration |
05 |
public class EmployeeDaoImplTest
{ |
08 |
private EmployeeDao
employeeDao; |
11 |
public void testInsert()
{ |
12 |
Employee
employee = new Employee(); |
14 |
employee.setName( "店小四" ); |
16 |
boolean successful
= employeeDao.insert(employee); |
17 |
assertThat(successful,
is( true )); |
@TransactionConfiguration 是 @TransactionConfiguration(defaultRollback = true) 的簡寫。@TransactionConfiguration 能夠管理類範圍內的事務, 與 @Rollback 一樣, 它也需要 @Transactional 標註的支持, 否則事務不受 @TransactionConfiguration 的控制。
@TransactionConfiguration 可以與 @Rollback 註解共同工作, 如上面的測試用例, 事務雖然是受 @TransactionConfiguration 控制回滾不提交, 但如果你想提交某一個方法的事務, 你可以通過 @Rollback(false) 來控制提交事務。
執行測試, 數據庫不會插入數據, 如果將 @TransactionConfiguration 改爲 @TransactionConfiguration(defaultRollback = false), 則數據庫插入一條記錄。