基于springboot自定义事务注解
1.开启注解支持(springboot默认支持注解)
2.自定义注解接口
3.写事务类
4.写切面类
2.自定义注解接口
import java.lang.annotation.*;
/**
* 注解类
*/
@Target(ElementType.METHOD) //定义注解用在方法上
@Retention(RetentionPolicy.RUNTIME) //运行时注解
@Documented
public @interface CustomTransaction {
String value() default "";
}
3.写事务类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Component;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.interceptor.DefaultTransactionAttribute;
@Component
@Scope(value = "prototype")
public class TransactionUtils {
@Autowired
private DataSourceTransactionManager dataSourceTransactionManager;
/**
*初始化创建TransactionStatus对象
* @return
*/
public TransactionStatus init(){
System.out.println("创建事务了...");
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(new DefaultTransactionAttribute<