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
Proxy24.trans(UnknownSource)atxyz.xzxyz.App.testTrans(App.java:18)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:436)atorg.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)atorg.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambdainvokeTestMethod
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
6(TestMethodTestDescriptor.java:170)atorg.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)atorg.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:166)atorg.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:113)atorg.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:58)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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
3(HierarchicalTestExecutor.java:112)atorg.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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.execute(HierarchicalTestExecutor.java:79)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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
2(HierarchicalTestExecutor.java:120)atjava.util.stream.ForEachOpsForEachOp$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
1.accept(ReferencePipeline.java:175)atjava.util.Iterator.forEachRemaining(Iterator.java:116)atjava.util.SpliteratorsIteratorSpliterator.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.evaluateSequential(ForEachOps.java:151)atjava.util.stream.ForEachOpsForEachOp
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
OfRef.evaluateSequential(ForEachOps.java:174)atjava.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)atjava.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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
3(HierarchicalTestExecutor.java:120)atorg.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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.execute(HierarchicalTestExecutor.java:79)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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
2(HierarchicalTestExecutor.java:120)atjava.util.stream.ForEachOpsForEachOp$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
1.accept(ReferencePipeline.java:175)atjava.util.Iterator.forEachRemaining(Iterator.java:116)atjava.util.SpliteratorsIteratorSpliterator.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.evaluateSequential(ForEachOps.java:151)atjava.util.stream.ForEachOpsForEachOp
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
OfRef.evaluateSequential(ForEachOps.java:174)atjava.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)atjava.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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
3(HierarchicalTestExecutor.java:120)atorg.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)atorg.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorNodeExecutor.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也行,如下图
继续学习,共勉