栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring的事务配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring的事务配置

事务:逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败

特性:ACID

原子性:不能再次分割

一致性:事务之前与之后,数据保持一致

隔离性:多个事务之间相互隔离,不受影响

持久性:一旦提交后不可恢复

作用:执行增删改时,保持数据的一致、安全,不会像无事务那样出错了仍然提交

Spring的配置事务方式:声明式事务处理、注解方式的声明式事务管理

        1.声明式事务处理

(1).在Spring核心配置文件中引入相关约束:


(2).配置事务管理器

        
                
        

(3).配置事务通知

        

                
                         
                        
                        
                
        

(4).配置事务切面

        
                 
                 
        

完整application.xml代码:




         

        

        
                
                
                        
                         
                        
                        
                

                
                        
                

                
                
                        
                        
                        
                
                
                
                        
                        
                        
                        
                
                
                
                        
                


        
                
        


        

                
                         
                        
                        
                
        


        
                 
                 
        



接下来我们执行service包下的增删改(insert、delete、update开头)的方法时,就开启事务了

2.注解方式的声明式事务管理

只需要配置事务管理器与注解式事务管理,并且在要开启事务的方法上加上注解: @Transactional

application.xml代码:




         

        

        
                
                
                        
                         
                        
                        
                

                
                        
                

                
                
                        
                        
                        
                
                
                
                        
                        
                        
                        
                
                
                
                        
                


        
                
        


        


service类代码:

  @Transactional //开启事务,抛出异常后就不会再提交了
    @Override
    public int insert(user record) {

未开启事务前,你的执行增删改sql语句的方法报错后,仍然会commit,开启后,只要抛出异常,就直接rollback

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424140.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号