专业的JAVA编程教程与资源

网站首页 > java教程 正文

java技术事务的传播行为(java数据传递方式)

temp10 2024-11-14 17:55:04 java教程 12 ℃ 0 评论

初步实现

  • 配置文件
<!– 配置事务管理器 –>
<bean id=“transactionManager”
         class=“org.springframework.jdbc.datasource.DataSourceTransactionManager”>
         <property name=“dataSource” ref=“dataSource”/>        
</bean>
 
<!– 启用事务注解 –>
<tx:annotation-driven transaction-manager=“transactionManager”/>
  • 在需要进行事务控制的方法上加注解 @Transactional

事务的传播行为

1 简介

当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。

事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为。

java技术事务的传播行为(java数据传递方式)

事务传播属性可以在@Transactional注解的propagation属性中定义。

2 测试

说明

①REQUIRED传播行为

当bookService的purchase()方法被另一个事务方法checkout()调用时,它默认会在现有的事务内运行。这个默认的传播行为就是REQUIRED。因此在checkout()方法的开始和终止边界内只有一个事务。这个事务只在checkout()方法结束的时候被提交,结果用户一本书都买不了。

②. REQUIRES_NEW传播行为

表示该方法必须启动一个新事务,并在自己的事务内运行。如果有事务在运行,就应该先挂起它。

3 补充

在Spring 2.x事务通知中,可以像下面这样在<tx:method>元素中设定传播事务属性。

了解更多java技术内容欢迎关注尚硅谷教育!

Java 的抽象类是什么

java之数据格式化

Java 数据结构都有哪些

java中单例设计模式

2021新版《Java学习路线图》

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表