org.springframework.beans.factory.NoUniqueBeanDefinitionException报错解决方法
nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type ‘org.springframework.transaction.PlatformTransactionManager’ available: expected single matching bean but found 3: sbaseTransactionManager,oracleTransactionManager,dataBaseTransactionManager
通过 expected single matching bean but found 3这个报错的信息,我们能够很快的知道这个事务@Transactional注解只能匹配一个数据源,但是我有三个数据源,所以我们需要在注解中加入选定的一个数据源,如下:
@Transactional(transactionManager=“oracleTransactionManager”)
或者@Transactional(transactionManager=“sbaseTransactionManager”)或者@Transactional(transactionManager=“dataBaseTransactionManager”)
如果只有一个数据源的话就可以不用进行注解的声明了,因为Spring框架中的事务机制会自己加载对应的数据源,如果用到了多个数据源的就需要使用注解进行声明对应的transactionManager