在事务中实行的方法:org.springframework.transaction.interceptor.TransactionAspectSupport#invokeWithinTransaction
真正通过connecttion调用回滚的代码:org.springframework.jdbc.datasource.DataSourceTransactionManager#doRollback
获取数据库连接的方法:org.springframework.jdbc.datasource.DataSourceUtils#doGetConnection
其中:
ConnectionHolder conHolder = (ConnectionHolder) TransactionSynchronizationManager.getResource(dataSource);
getResource是在连接池中获取连接的方法
事务实现时候,每一个CURD都是一个单独的Connection实例,然后使用AOP进行事务提交或者回滚