什么是事务的传播特性?

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/02 13:55:21
什么是事务的传播特性?
xUN@>+DU T!U} RQRِYS8 Y;&_;㤁"+sΝ G)C;uNC*F>ݸWó Gr1Oc9-؉ _9pBwUO|?}[ @s`hޠm_HvBqֈX[U2_qnJ^b/V]3߫/2$x $G̉SQ9LB{JTYn>0IZŧ\=-cs(Zוk'\6xf%O9HI1DL;xK eݴb^.#`ha3vjPnWcYSYy _ ~E4$,|zf|ǩƧF]xN=DW\&Bpc[> lT..g- J ̶Hɲ;KA| T/# v|~0̺Nhk:W4G8c8{kFJ /'`1uAAԕʚ<="q11{؟%c&14P]. 1[%:0-$&g Ǟ[ ;pz,}q 5ED`&sWR"zݷG{

什么是事务的传播特性?
什么是事务的传播特性?

什么是事务的传播特性?
那么事务的传播特性也是从这里说起的.
如果你在你的Service层的这个方法中,除了调用了Dao层的方法之外,还调用了本类的其他的Service方法,那么在调用其他的Service方法的时候,这个事务是怎么规定的呢,我必须保证我在我方法里掉用的这个方法与我本身的方法处在同一个事务中,否则如果保证事物的一致性.事务的传播特性就是解决这个问题的,“事务是会传播的”在Spring中有针对传播特性的多种配置我们大多数情况下只用其中的一种:PROPGATION_REQUIRED:这个配置项的意思是说当我调用service层的方法的时候开启一个事务(具体调用那一层的方法开始创建事务,要看你的aop的配置),那么在调用这个service层里面的其他的方法的时候,如果当前方法产生了事务就用当前方法产生的事务,否则就创建一个新的事务.这个工作使由Spring来帮助我们完成的.
以前没有Spring帮助我们完成事务的时候我们必须自己手动的控制事务,例如当我们项目中仅仅使用hibernate,而没有集成进spring的时候,我们在一个service层中调用其他的业务逻辑方法,为了保证事物必须也要把当前的hibernate session传递到下一个方法中,或者采用ThreadLocal的方法,将session传递给下一个方法,其实都是一个目的.现在这个工作由spring来帮助我们完成,就可以让我们更加的专注于我们的业务逻辑.而不用去关心事务的问题.