
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Spring框架的学习是大多数Java编程开发程序员需要熟练掌握的一个编程知识点,而本文我们就通过案例分析来简单了解一下,Spring框架事务入门知识分享。
对事务的学习总体来讲应该包含以下几个部分:
事务的概念:数据库层面的,简单了解什么是事务,以及隔离级别、事务的提交、回滚、保存点等基本概念。
动态代理以及SpringAOP,是Spring框架实现事务控制的底层技术基础。
Spring框架事务的实现方式。
Spring框架事务实现的底层原理。
可以循序渐进逐步学习,也可以单独学习其中某一部分,但是只有全部彻底掌握了,才能对事务有一个全局的了解。
一般来讲,程序员实现事务控制有两种选择:编程式事务、声明式事务。从代码编写的角度讲,编程式事务太麻烦,现在用的很少了,20年前的程序员绝大部分用的都是编程式事务,非常麻烦,需要自己获取连接、开启事务、提交或回滚事务、关闭连接等。
声明式事务是基于AOP实现的,现在JAVA世界的绝大部分项目都是基于Spring框架实现的,Spring框架、尤其是Springboot框架对事务管理的支持非常友好,使用非常简单。
其实Spring事务管理是重度依赖于数据库底层的支持的,尤其是类似隔离级别、等待超时时间等概念,都是直接依赖于数据库底层去实现的,Spring事务管理其实什么都不需要干,只需要把配置好的属性传递给数据库连接、交给数据库去完成即可。
而事务传播机制Propagation与其他特性不同,是spring框架事务管理功能的重头戏。事务传播机制负责控制不同事务发生的时候,上层事务与下层事务之间的关系。
嵌套事务,如果当前已经存在一个事务的话,则行为类似于REQUIRED。注意:嵌套事务仅针对特定的事务管理器,需要特定事务管理器的支持,是否生效取决于JDBC数据源的事务管理器。
嵌套事务的实际含义是:如果当前存在一个事务的话,则保存当前事务的savepoint(保存点),并加入事务,如果当前不存在事务的话,就启用一个新事务。
嵌套事务实际使用了数据库的savepoint,需要数据库支持savepoint,如果数据库不支持savepoint,那么这个NESTED也就不会生效。
savepoint的意思对当前事务已经执行的数据库操作记录一个保存点,新方法加入事务后,如果执行成功则一起提交,如果执行失败则只回滚新方法的操作,不回滚保存点以前的数据库操作。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。