在Spring中,可以使用TransactionSynchronizationManager.isActualTransactionActive()
方法来判断当前线程是否在事务中。
示例代码如下:
import org.springframework.transaction.support.TransactionSynchronizationManager; public class TransactionUtils { public static boolean isInTransaction() { return TransactionSynchronizationManager.isActualTransactionActive(); } }
然后,在需要判断是否在事务内的地方调用isInTransaction()
方法即可判断当前线程是否在事务中。
if (TransactionUtils.isInTransaction()) { // 在事务内的逻辑处理 } else { // 不在事务内的逻辑处理 }