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