項目運行過程中報錯
報錯信息如下:
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 ,當運行事物方法時報上面的錯誤信息。
聲明式事物代碼如下:
註釋事物: