spring事物应该注意的地方

作者: java高并发 | 来源:发表于2019-03-01 15:05 被阅读27次

A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。
B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常、测试回滚),确保事务生效。
C. 以下列了事务使用过程的注意事项,请大家留意。

1. 不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,否则注解可能无效。
2.不要图省事,将@Transactional放置在类级的声明中,放在类声明,会使得所有方法都有事务。故@Transactional应该放在方法级别,不需要使用事务的方法,就不要放置事务,比如查询方法。否则对性能是有影响的。
3.使用了@Transactional的方法,对同一个类里面的方法调用, @Transactional无效。比如有一个类Test,它的一个方法A,A再调用Test本类的方法B(不管B是否public还是private),但A没有声明注解事务,而B有。则外部调用A之后,B的事务是不会起作用的。(经常在这里出错)
4.使用了@Transactional的方法,只能是public,@Transactional注解的方法都是被外部其他类调用才有效,故只能是public。道理和上面的有关联。故在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,它也不会报错,但事务无效。
5.经过在ICORE-CLAIM中测试,效果如下:

A.抛出受查异常XXXException,事务会回滚。

B.抛出运行时异常NullPointerException,事务会回滚。

C.Quartz中,execute直接调用加了@Transactional方法,可以回滚;间接调用,不会回滚。(即上文3点提到的)

D.异步任务中,execute直接调用加了@Transactional方法,可以回滚;间接调用,不会回滚。(即上文3点提到的)

E.在action中加上@Transactional,不会回滚。切记不要在action中加上事务。

F.在service中加上@Transactional,如果是action直接调该方法,会回滚,如果是间接调,不会回滚。(即上文3提到的)

G.在service中的private加上@Transactional,事务不会回滚。

结尾

顺便在此给大家推荐一个Java方面的交流学习群:4112676,里面会分享一些高级面试题,还有资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系,主要针对Java开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。在这个群里会有你需要的内容 朋友们请抓紧时间加入进来吧

相关文章

  • spring事物应该注意的地方

    A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。B. 如果加了事务,必须做好开发环...

  • spring事物

    spring 事物 是什么? spring 事物 有什么好处? spring 事物是如何实现的?

  • Spring 事物介绍(二)之 事物的传播机制

    Spring 事物介绍(二)之 事物的传播机制 Spring中对事物的支持 Spring 事物相关API: spr...

  • gRPC之应该注意的地方

    记录一下阅读gRPC的OC源码时看到的问题 没有暴露设置超时时间的接口 在GRPCCompletionQueue....

  • CopyOnWriteArrayList使用应该注意的地方

    ArrayList是我们在java编程中经常用到的数据集合类,我们也知道ArrayList是非线程安全的,那么当我...

  • spring事物管理详解

    最近再次拜读了spring的源码,对关于spring事物的应用部分加以整理,做如下笔记。如有不正确的地方,欢迎指正...

  • spring事物

    事物特性 ⑴原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操...

  • spring事物

    1、事物属性 事物属性主要是通过TransactionDefinition接口实现定义,主要有事物的隔离级别,事物...

  • spring事物

    事物的特性: 原子性:事物是一个不可分割的工作单位,事物中的操作要么都发生,要么都不发生 一致性:事物前后数据的完...

  • spring事物

网友评论

    本文标题:spring事物应该注意的地方

    本文链接:https://www.haomeiwen.com/subject/tgpduqtx.html