照着spring4.X企业应用开发实战上的例子,自己写了个小demo,在单元测试的时候,没有异常,但是数据更新不到数据库。后来看了控制台发现事务应该没提交被回滚了。再往找了些方法。在此记录下。
刚开始在单元测试类上加上注解
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false)
数据可以正常提交,但是在编辑器上显示注解是被加了删除线的,查了一下在spring高版本后,@TransactionConfiguration已经标注为过时的注解。
目前替代@TransactionConfiguration注解的为@Transactionl和@Rollback
@Rollback(value = false) @Transactional(transactionManager="transactionManager")
其实就是把@TransactionConfiguration进行了拆分。@Rollback就一个属性,用来设置涉及了数据库事务的操作,在测试完之后是否回滚。
在此补充另一个注解@Commit,无属性配置相当于@Rollback(value = false)。