温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
大家看我们这个代码哈,什么是事务?这儿有一个需要注意的地儿。我在这自己跟自己说声。呃,虽然我们通过切入点表达式能够定位到我们的这个这个方法service里面的方法,但是呢。如果我们,呃,这个事物属性,这method的这个地方,如果没有配的话,它还是没有事物的,你比如说我们把这一条给它注释掉。把这一条注射掉,这一条注射掉以后,刚才这个你看我们调的是这个。呃,Save哈,这个重新重新去跑一下。我们这边要不就咱们先先不跑一场了哈。
01:02
这边他倒是没有报错。但是我们看一下SQL语句前后的这个打印。嗯。你看这个,Was not registered for。A synchronization it's not active。然后呢,我看看啊,从哪儿能证明他这个。下边这个是returning JD bc这是放回去,After method。Closing这边这个你看他前后呢,这边都没有去提这个事物。哎,也没有提这个提交的事儿,也没有提这个事故的事儿。哎,然后看看创建一个新的没有注册,然feing从数据库连接池里边取一个它。也没有设置为这个手动提交什么的都没有,所以这个时候呢,其实就没有事误了。
02:00
啊,这是一个有一点反直觉,我们直觉直观感受会认为我既然切入点表达式已经能够定位到它了,那我下边这儿。这应该写,不写,我不写,应该让他用事物属性的默认值。但是实际测试看不是这样的。啊,这个你哪怕动用默认纸,这个东西在这儿也得写一下。啊,这个是这个是一个需要注意的一个地方。嗯,我们在笔记里边这写一下啊,这个是不是是不这我们这个需要注意的。在我们基于X毛的声明是事物中。呃,事物属性的这个TX method是。呃,必须配置的。如果某个方法没有配置对应的这个TX method。那么呃,事物对这个方法。
03:04
就不生效。啊。虽然说有有有我们切入点表达式的,但是这个呢,仍然还是需要配的啊。
我来说两句