【每日阅读】2020年07月24日-透彻的掌握 Spring 中 @transactional 的使用

链接

https://developer.ibm.com/zh/articles/j-master-spring-transactional-use/

文章截图

简评

因工作需要,今天仔细了解了一下spring的@Transactional注解的使用要点。

我觉得大部分项目使用这个注解应该是@Transactional(value = “xxx”)这样使用的,这最基本的使用代表了我们使用“xxx”这个事务管理器来管理事务,也就是我们肯定在spring内部配置了这样的事务管理器:

<bean id="xxx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="bizDataSource"/>
</bean>

然后事务就在这里配置的datasource上生效。如果只是写@Transactional不指定具体的事务管理器,那么spring会使用xml中配置的第一个事务管理器来进行事务处理。

还有三个要注意的点是:

  1. 类内部的方法调用自己的标有@Transactional注解的方法时,事务是不生效的
  2. 标有@Transactional的非public方法的事务不生效
  3. 抛出非RuntimeException和非Error异常时,事务是不生效的

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2127

(1)
geekgaogeekgao博主
上一篇 2020年7月24日
下一篇 2020年7月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

GitHub
分享本页
返回顶部

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-2017.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900