ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring学习笔记-声明式事务

2021-08-13 19:33:34  阅读:194  来源: 互联网

标签:事务 selectUser Spring 笔记 声明 一致性 数据


回顾事务

  • 将一组业务当成一个业务来做:要么都成功,要么都失败
  • 在项目开发中十分重要(涉及数据一致性!!!)
  • 保证完整性和一致性

【面试问题点】

  • 事务ACID原则
    • 原子性
    • 一致性
    • 隔离性:多个业务可能操作同一个资源,防止数据损坏
    • 持久性:事务一旦提交,无论系统发生什么问题都不会影响数据,数据被持久化写入存储器中

Spring中的事务管理

声明式事务(AOP)

  • spring-mapper.xml
<!--结合AOP实现事务织入-->
    <!--配置事务通知-->
    <tx:advice id="txADVICE" transaction-manager="transactionManager">
        <!--给指定方法配置事务-->
        <!--配置事务传播特性:
             【知识点】
             【默认】propagation="REQUIRED"
        -->
        <tx:attributes>
            <tx:method name="add" propagation="REQUIRED"/>
            <tx:method name="del" propagation="REQUIRED"/>
            <tx:method name="update" propagation="REQUIRED"/>
            <tx:method name="select" read-only="true"/>
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut id="txPointCut" expression="execution(* cn.iris.mapper.*.*(..))"/>
        <aop:advisor advice-ref="txADVICE" pointcut-ref="txPointCut"/>
    </aop:config>
  • 测试
@Test
public void trasactionTest() {
    addUser();
    selectUser();
    delUser();
    selectUser();
}

面试点】-- 传播方式&隔离级别

【编程式事务】

为什么需要事务

  • 如果不配置事务,可能存在数据提交不一致的情况;
  • 如果不在Spring中配置声明式事务则需要在代码中手动配置事务
  • 项目开发中,事务涉及到数据的一致性和完整性,不容马虎

标签:事务,selectUser,Spring,笔记,声明,一致性,数据
来源: https://www.cnblogs.com/irispassionguy/p/ssm_spring_transaction.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有