• 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);
    }
  • 相关阅读:
    算法之我见
    meobius与DBTwin实现原理
    MongoDB应用学习
    重要通知
    lucenc代码阅读指南、测试范例
    什么是IoC以及理解为什么要使用Ioc
    策略模式实现支持多种类数据库的DBHelp
    为什么使用TFS 2012进行源代码管理——TFS 2012使用简介(一)
    我们到底能走多远系列
    Eclipse+Tomcat+MySQL+MyEclipse
  • 原文地址:https://www.cnblogs.com/lyh233/p/16309994.html
Copyright © 2020-2023  润新知