您的位置:首页 > 编程语言 > Java开发

Spring Test @TransactionConfiguration

2017-03-15 18:16 295 查看
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(
"dianxiaosi@yeah.net"
);
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), 则数据库插入一条记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: