如何获得春季交易管理器实例?
-
29-09-2019 - |
题
我使用注释来标记应在交易中执行的方法。
但是,在一个地方我需要做 transactionManager.rollback()
手动,没有注释。我该如何获得 transactionManager
目的?
解决方案
如果要回滚当前的交易,则可以使用
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
请注意,它不会立即回滚交易 - 它设置了“仅回滚”状态,因此在尝试提交期间将回滚事务。
否则,如果您需要编程交易划界,则可以使用
TransactionTemplate
, ,如所述 10.6编程交易管理.
您也可以获得一个实例 PlatformTransactionManager
, ,但是它并没有被广泛使用以来 TransactionTemplate
是推荐的程序交易划界方法。
也可以看看:
其他提示
如果您的对象是由Spring配置的,您可以将课程注入TransactionManager ...
不隶属于 StackOverflow