【Spring 事务详解】声明式事务概念
作者:mmseoamin日期:2024-04-01

【Spring 事务详解】声明式事务概念,在这里插入图片描述,第1张


【Spring 事务详解】声明式事务概念,在这里插入图片描述,第2张


个人名片:

【Spring 事务详解】声明式事务概念,在这里插入图片描述,第3张


🐼作者简介:一名大三在校生,喜欢AI编程🎋

🐻‍❄️个人主页🥇:落798.

🐼个人WeChat:hmmwx53

🕊️系列专栏:🖼️

  • 零基础学Java——小白入门必备🔥
  • 重识C语言——复习回顾🔥
  • 计算机网络体系———深度详讲
  • HCIP数通工程师-刷题与实战🔥🔥🔥
  • 微信小程序开发——实战开发🔥
  • HarmonyOS 4.0 应用开发实战——实战开发🔥🔥🔥
  • Redis快速入门到精通——实战开发🔥🔥🔥
  • RabbitMQ快速入门🔥

    🐓每日一句:🍭我很忙,但我要忙的有意义!

    欢迎评论 💬点赞👍🏻 收藏 📂加关注+



文章目录

  • 声明式事务概念
        • 1、事务基本概念
          • ①什么是事务
          • ②事务的特性
          • 2、编程式事务
          • 3、声明式事务
          • 写在后面🔥🔥🔥:
          • 欢迎添加微信,加入我的核心小队,请备注来意

            声明式事务概念

            1、事务基本概念
            ①什么是事务

            数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。

            ②事务的特性

            A:原子性(Atomicity)

            一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

            C:一致性(Consistency)

            事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。

            如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。

            如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。

            I:隔离性(Isolation)

            指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看到中间状态的数据。

            D:持久性(Durability)

            指的是只要事务成功结束,它对数据库所做的更新就必须保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。

            2、编程式事务

            事务功能的相关操作全部通过自己编写代码来实现:

            Connection conn = ...;
                
            try {
                
                // 开启事务:关闭事务的自动提交
                conn.setAutoCommit(false);
                
                // 核心操作
                
                // 提交事务
                conn.commit();
                
            }catch(Exception e){
                
                // 回滚事务
                conn.rollBack();
                
            }finally{
                
                // 释放数据库连接
                conn.close();
                
            }
            

            编程式的实现方式存在缺陷:

            • 细节没有被屏蔽:具体操作过程中,所有细节都需要程序员自己来完成,比较繁琐。
            • 代码复用性不高:如果没有有效抽取出来,每次实现功能都需要自己编写代码,代码就没有得到复用。
              3、声明式事务

              既然事务控制的代码有规律可循,代码的结构基本是确定的,所以框架就可以将固定模式的代码抽取出来,进行相关的封装。

              封装起来后,我们只需要在配置文件中进行简单的配置即可完成操作。

              • 好处1:提高开发效率
              • 好处2:消除了冗余的代码
              • 好处3:框架会综合考虑相关领域中在实际开发环境下有可能遇到的各种问题,进行了健壮性、性能等各个方面的优化

                所以,我们可以总结下面两个概念:

                • 编程式:自己写代码实现功能
                • 声明式:通过配置让框架实现功能

                  写在后面🔥🔥🔥:

                  林纳斯·托瓦兹(Linus Torvalds)说:“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”

                  《spring技术内幕:深入解析spring架构与计原理(第2版)》是国内一本系统分析spring源代码的经典著作,也是spring领域的问鼎之作,由业界拥有10余年开发经验的资深java专家亲自执笔,java开发者社区和spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使本书更趋近于完美。

                  本专栏是自己深入学习并结合Spring技术内幕一经典图书内容做出的的心得与总结,将其精简编写成一篇专栏供大家学习,希望对新学习Spring框架技术的小伙伴有所帮助。

                  图书推荐:

                  【Spring 事务详解】声明式事务概念,在这里插入图片描述,第4张


                  【Spring 事务详解】声明式事务概念,在这里插入图片描述,第5张

                  欢迎添加微信,加入我的核心小队,请备注来意

                  👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇