问题原因
在Spring中,实现事务操作时,同时运行过XML配置文件和配置类
导致同时出现多个事务管理器
上图中有两个事务管理器:
transactionManager和getDataSourceTransactionManager
其中transactionManager是在XML配置中的,如下:
而getDataSourceTransactionManager是在配置类中的,如下:
解决方法
都使用配置类注入的事务管理器(getDataSourceTransactionManager)
在@Transactional注解后添加transactionManager
@Transactional(transactionManager = "getDataSourceTransactionManager")
//@Transactional(transactionManager = "transactionManager")不用
//容易出现No matching TransactionManager bean found for qualifier 'transactionManager' - neither qualifier match nor bean name match!错误