Spring 事务就是把 JDBC 模板化的代码封装好,本质上还是
1. 开启事务
2. 业务逻辑(JDBC 操作)
3. commit/rollback
4. 资源释放(数据库连接)
Spring 帮助我们做了上述1,3,4三步(第 2 步是我们的业务代码)
下面是我读事务这块的源码整理的思维导图:
源码写了一堆,实际上还是绕不过开始事务,提交事务,回滚事务三件事,只是这三件事情现在由 Spring 把这些模板代码封装好了,方便我们使用,专注于业务逻辑,不用去关心要不要关连接、清缓存之类的操作。