spring事务流程
1 事务定义 TransactionDefinition 事务定义包含了事务隔离级别,事务扩散行为
2 事务状态 TransactionStatus 事务状态包含了本次事务是否是回滚,是否是新事务
3 事务管理器 PlatformTransactionManager ---> DataSourceTransactionManager 针对不同的数据源,实现不同的事务管理器
4 事务模板 TransactionTemplate 实现了一个具体的事务定义类DefaultTransactionDefinition ,业务支持模板
5 回调接口 TransactionCallback 业务自己实现的具体逻辑
外部使用事务模板,传入回调接口实现类(业务自己开发),
内部根据具体的事务管理器的实现类,调用其getTransaction方法,传入事务模板本身
得到一个事务状态,然后调用回调接口实现类,传入事务状态,回调接口实现类完成后,如果没有异常,没有指定setRollbackOnly(),则提交事务