Spring Test @TransactionConfiguration

01 @RunWith(SpringJUnit4ClassRunner.class)
02 @ContextConfiguration("/beans.xml")
03 @Transactional
04 @TransactionConfiguration
05 public class EmployeeDaoImplTest {
06  
07     @Autowired
08     private EmployeeDao employeeDao;
09  
10     @Test
11     public void testInsert() {
12         Employee employee = new Employee();
13         employee.setAge(20);
14         employee.setName("店小四");
15         employee.setMail("[email protected]");
16         boolean successful = employeeDao.insert(employee);
17         assertThat(successful, is(true));
18     }
19  
20 }
@TransactionConfiguration 是 @TransactionConfiguration(defaultRollback = true) 的簡寫。@TransactionConfiguration 能夠管理類範圍內的事務, 與 @Rollback 一樣, 它也需要 @Transactional 標註的支持, 否則事務不受 @TransactionConfiguration 的控制。 
@TransactionConfiguration 可以與 @Rollback 註解共同工作, 如上面的測試用例, 事務雖然是受 @TransactionConfiguration 控制回滾不提交, 但如果你想提交某一個方法的事務, 你可以通過 @Rollback(false) 來控制提交事務。 
執行測試, 數據庫不會插入數據, 如果將 @TransactionConfiguration 改爲 @TransactionConfiguration(defaultRollback = false), 則數據庫插入一條記錄。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章