org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager'

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for qualifier ‘transactionManager’ - neither qualifier match nor bean name match!
at org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils.qualifiedBeanOfType(BeanFactoryAnnotationUtils.java:136)
at org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils.qualifiedBeanOfType(BeanFactoryAnnotationUtils.java:95)
at org.springframework.transaction.interceptor.TransactionAspectSupport.determineQualifiedTransactionManager(TransactionAspectSupport.java:406)
at org.springframework.transaction.interceptor.TransactionAspectSupport.determineTransactionManager(TransactionAspectSupport.java:387)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:284)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy. P r o x y 24. t r a n s ( U n k n o w n S o u r c e ) a t x y z . x z x y z . A p p . t e s t T r a n s ( A p p . j a v a : 18 ) a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 62 ) a t s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 43 ) a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 498 ) a t o r g . j u n i t . p l a t f o r m . c o m m o n s . u t i l . R e f l e c t i o n U t i l s . i n v o k e M e t h o d ( R e f l e c t i o n U t i l s . j a v a : 436 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . e x e c u t i o n . E x e c u t a b l e I n v o k e r . i n v o k e ( E x e c u t a b l e I n v o k e r . j a v a : 115 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . l a m b d a Proxy24.trans(Unknown Source) at xyz.xzxyz.App.testTrans(App.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:436) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda invokeTestMethod 6 ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 170 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . e x e c u t i o n . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 40 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . i n v o k e T e s t M e t h o d ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 166 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . e x e c u t e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 113 ) a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . e x e c u t e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 58 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r 6(TestMethodTestDescriptor.java:170) at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:166) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:113) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:58) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.lambda$executeRecursively 3 ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 112 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . S i n g l e T e s t E x e c u t o r . e x e c u t e S a f e l y ( S i n g l e T e s t E x e c u t o r . j a v a : 66 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r 3(HierarchicalTestExecutor.java:112) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor N o d e E x e c u t o r . e x e c u t e ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 79 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r NodeExecutor.execute(HierarchicalTestExecutor.java:79) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.lambda$executeRecursively 2 ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 120 ) a t j a v a . u t i l . s t r e a m . F o r E a c h O p s 2(HierarchicalTestExecutor.java:120) at java.util.stream.ForEachOps ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2 1. a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 175 ) a t j a v a . u t i l . I t e r a t o r . f o r E a c h R e m a i n i n g ( I t e r a t o r . j a v a : 116 ) a t j a v a . u t i l . S p l i t e r a t o r s 1.accept(ReferencePipeline.java:175) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps F o r E a c h O p . e v a l u a t e S e q u e n t i a l ( F o r E a c h O p s . j a v a : 151 ) a t j a v a . u t i l . s t r e a m . F o r E a c h O p s ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps ForEachOp O f R e f . e v a l u a t e S e q u e n t i a l ( F o r E a c h O p s . j a v a : 174 ) a t j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . e v a l u a t e ( A b s t r a c t P i p e l i n e . j a v a : 234 ) a t j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e . f o r E a c h ( R e f e r e n c e P i p e l i n e . j a v a : 418 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.lambda$executeRecursively 3 ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 120 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . S i n g l e T e s t E x e c u t o r . e x e c u t e S a f e l y ( S i n g l e T e s t E x e c u t o r . j a v a : 66 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r 3(HierarchicalTestExecutor.java:120) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor N o d e E x e c u t o r . e x e c u t e ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 79 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r NodeExecutor.execute(HierarchicalTestExecutor.java:79) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.lambda$executeRecursively 2 ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 120 ) a t j a v a . u t i l . s t r e a m . F o r E a c h O p s 2(HierarchicalTestExecutor.java:120) at java.util.stream.ForEachOps ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2 1. a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 175 ) a t j a v a . u t i l . I t e r a t o r . f o r E a c h R e m a i n i n g ( I t e r a t o r . j a v a : 116 ) a t j a v a . u t i l . S p l i t e r a t o r s 1.accept(ReferencePipeline.java:175) at java.util.Iterator.forEachRemaining(Iterator.java:116) at java.util.Spliterators IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps F o r E a c h O p . e v a l u a t e S e q u e n t i a l ( F o r E a c h O p s . j a v a : 151 ) a t j a v a . u t i l . s t r e a m . F o r E a c h O p s ForEachOp.evaluateSequential(ForEachOps.java:151) at java.util.stream.ForEachOps ForEachOp O f R e f . e v a l u a t e S e q u e n t i a l ( F o r E a c h O p s . j a v a : 174 ) a t j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . e v a l u a t e ( A b s t r a c t P i p e l i n e . j a v a : 234 ) a t j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e . f o r E a c h ( R e f e r e n c e P i p e l i n e . j a v a : 418 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r OfRef.evaluateSequential(ForEachOps.java:174) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.lambda$executeRecursively 3 ( H i e r a r c h i c a l T e s t E x e c u t o r . j a v a : 120 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . S i n g l e T e s t E x e c u t o r . e x e c u t e S a f e l y ( S i n g l e T e s t E x e c u t o r . j a v a : 66 ) a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . H i e r a r c h i c a l T e s t E x e c u t o r 3(HierarchicalTestExecutor.java:120) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:55)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

今天在学习spring5中注解配置时出现的一个问题
No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for qualifier ‘transactionManager’ - neither qualifier match nor bean name match!
在这里插入图片描述

原因是在配置注解解析器的时候没有配置transaction-manager,spring底层默认查询的是transactionManager,由于楼主在配置bean的时候将org.springframework.jdbc.datasource.DataSourceTransactionManager 的 id修改为了txManager ,故查询不到,将配置代码修改成如下即可
在这里插入图片描述
或者将 org.springframework.jdbc.datasource.DataSourceTransactionManager
中的id修改为transactionManager也行,如下图
在这里插入图片描述
继续学习,共勉

猜你喜欢

转载自blog.csdn.net/qq_43513205/article/details/84649966