【每日阅读】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

发表评论

登录后才能评论
GitHub
分享本页
返回顶部