org.springframework.beans.factory.NoUniqueBeanDefinitionException导致错误原因之一:spring事物
项目运行过程中报错
报错信息如下:
org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.transaction.PlatformTransactionManager] is defined: expected single matching bean but found 11: dNsacntTransactionManager,dDepoTransactionManager,settlementTransactionManager,v5MTransactionManager,fpTransactionManager,pxTransactionManager,v5TransactionManager,ssTransactionManager,fTransactionManager,nacTransactionManager,dTransactionManager
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:365)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:331)
at org.springframework.transaction.interceptor.TransactionAspectSupport.determineTransactionManager(TransactionAspectSupport.java:370)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:271)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
错误原因:在spring xml配置文件中配置了声明式事物,又在service中使用了注解事物@Transactional ,当运行事物方法时报上面的错误信息。
声明式事物代码如下:
注释事物: