自定义事务注解
注解类
// 事务注解 设置传播行为 @Target({ ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) public @interface ExtTransaction {
}
|
事务工具类
//编程事务(需要手动begin 手动回滚 手都提交) @Component() @Scope("prototype") // 设置成原型解决线程安全 public class TransactionUtils {
private TransactionStatus transactionStatus; // 获取事务源 @Autowired private DataSourceTransactionManager dataSourceTransactionManager;
// 开启事务 public TransactionStatus begin() { transactionStatus = dataSourceTransactionManager.getTransaction(new DefaultTransactionAttribute()); return transactionStatus; }
// 提交事务 public void commit(TransactionStatus transaction) { dataSourceTransactionManager.commit(transaction); |