• springboot注解以及手动使用事务


    一、注解方式

    springBoot项目要用事务,使用注解方式时只需要在启动类加上@EnableTransactionManagement。

    并在想使用事务的方法中加上@Transactional注解即可。

    @SpringBootApplication
    //①在启动类中加上注解
    @EnableTransactionManagement
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class,args);
        }
    }
     
    //②在对应的方法中加注解
    @Transactional(rollbackFor = Exception.class)
    public void registerUser(User user) throws Exception {
       ...
       userMapper.updateUser(user);
       ...
    
    }

    附:@Transactional参数说明: 

    事务传播行为

    事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。
    例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一个新事务运行,这就是由methodB的事务传播行为决定的。
    Spring定义了七种传播行为:(默认为Propagation.REQUIRED)

     二、方法内部手动控制事务

    2.1、注入事务相关的bean

    @Autowired
    private PlatformTransactionManager platformTransactionManager;
    
    @Autowired
    private TransactionDefinition transactionDefinition;

    2.2、结合try-catch使用事务

    TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
    try {
        dosomething....
        platformTransactionManager.commit(transactionStatus);
    } catch (Exception e) {
        platformTransactionManager.rollback(transactionStatus);
    }
  • 相关阅读:
    如何描述一个前端开发程序员
    解决电脑性能一般,打开webstorm后,电脑比较卡的问题
    HTML5的5个的新特性
    js 数组的拼接
    移动端性能
    如何学习前端
    实战:上亿数据如何秒查
    读懂Java中的Socket编程
    远程管理软件
    dedecms 安装后 管理后台ie假死 无响应的解决方法
  • 原文地址:https://www.cnblogs.com/lyh233/p/16309994.html
Copyright © 2020-2023  润新知