Spring事务处理机制以及错误使用TransactionSynchronization的afterCompletion方法引起的问题
前言我们都知道spring有声明式事务和编程式事务,声明式只需要提供@Transactional的注解,然后事务的开启和提交/回滚、资源的清理就都由spring来管控,我们只需要关注业务代码即可;而编程式事务则需要使用spring提供的模板,如TransactionTemplate,或者直接使用底层的PlatformTransactionManager。声明式事务的最大优点就是对代码的侵入性较小,