java Spring 3到4迁移问题
我有一些扩展AbstractTransactionalSpringContextTests
的测试,现在已经不推荐了。我正在使用setComplete
、endTransaction
和startNewTransaction
这些的替代用途是什么
你可以在下面搜索框中键入要查询的问题!
我有一些扩展AbstractTransactionalSpringContextTests
的测试,现在已经不推荐了。我正在使用setComplete
、endTransaction
和startNewTransaction
这些的替代用途是什么
# 1 楼答案
对于简单的用例,可以使用
@Transactional
和@Commit
。如果测试方法用@Transactional
注释,那么测试方法将在事务内部执行,并且在测试运行后执行回滚@Commit
防止执行此回滚(类似于setComplete
)。可以在测试类上使用@Transactional
来执行事务中的每个测试方法如果需要更细粒度的控制,请结合
TestTransaction
中的静态方法来查看AbstractTransactionalJUnit4SpringContexTest
。Spring Documentation有一个很好的例子,说明了如何使用TestTransaction
来启动和结束事务,或者将它们标记为提交。在使用AbstractTransactionalJUnit4SpringContexTest
时,需要记住,它已经在类级别用@Transactional
进行了注释