阅读 48

Spring 声明式事务详解

!! 观看本篇文章需要配合 [JdbcTemplate基本使用]

Spring 中的事务控制方式

Spring 的事务控制可以分为编程式事务控制声明式事务控制
编程式
开发者直接把事务的代码和业务代码耦合到一起,在实际开发中不用。
声明式
开发者采用配置的方式来实现的事务控制,业务代码与事务代码实现解耦合,使用的API思想。

基于XML的声明式事务控制【重点】

在 Spring配置文件中声明式的处理事来代替代码式的处理事务。底层采用 AOP 思想来实现的。

声明式事务控制明确事项:

  • 核心业务代码(目标对象)
  • 事务增强代码{ Spring已提供事务管理器)
  • 切面配置

步骤分析

1.引入tx 命名空间
2.事务管理器通知配置
3.事务管理器AOP配置

引入依赖坐标




基于 XML 的声明式事务的控制

配置文件




    
    

    
    

    
    
        
        
        
        
    

    
    
        
        
    

    
    
        
        
    

    
    
        
        
            
            
        
    

    
    
        
        
    

Service 层

@Override
public void updateUser() {
    User user = userDao.find(2);
    user.setName("li3");
    userDao.updateUser(user);
    int i = 1 / 0;
    user.setAge(13);
    userDao.updateUser(user);
    System.out.println(user);
}

事务参数的配置详解


  • name:切点方法等
  • isolation:事务的隔离级别
  • propogation:事务的传播行为
  • timeout:超时时间
  • read-only:是否只读

常用 CURD 配置


    
    
        
        
        
        
        
        
        
        
    

基于注解的声明式事务控制

常用注解

步骤分析

  1. 修改 Service 层,增加事务注解
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.REPEATABLE_READ,readOnly = false,timeout = -1)
public void updateUser() {
    User user = userDao.find(2);
    user.setName("li3");
    userDao.updateUser(user);
    int i = 1 / 0;
    user.setAge(13);
    userDao.updateUser(user);
    System.out.println(user);

}
  1. 修改 Spring 核心配置文件,开启事务注解支持

原文:https://www.cnblogs.com/orginly/p/15353019.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐