Spring源码分析-事务管理

MyBatis是没有事务管理的,需要将事务交给Spring管理。

在service层function上加 @Transactional,表明有关数据库的DML语句,操作所需要的事务都交由Spring管理。

实际上是

connect.commit;

connect.rallback;

transaction实际是一个对象,在该对象中维护了一个connection属性。我们把这个对象叫做spring的事务对象。

当然还有其他属性,比如 isbusy. 表示该connection是否是忙碌的。

@Transactional实际上是使用动态代理模式,对目标对象在执行前、执行后增强代码。


猜你喜欢

转载自blog.csdn.net/Damon__Wang/article/details/80245257