错误:映射导致得错误
@Controller类默认使用@RequestMapping("/"),所以该类下得方法不能再使用该映射
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘requestMappingHandlerMapping’ defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘templateController’ method
public java.lang.String com.example.web.templateController.index(org.springframework.ui.ModelMap)
to {[/]}: There is already ‘helloController’ bean method
public java.lang.String com.example.web.helloController.index() mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean
0
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
317
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
S
i
n
g
l
e
t
o
n
B
e
a
n
R
e
g
i
s
t
r
y
.
g
e
t
S
i
n
g
l
e
t
o
n
(
D
e
f
a
u
l
t
S
i
n
g
l
e
t
o
n
B
e
a
n
R
e
g
i
s
t
r
y
.
j
a
v
a
:
222
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
d
o
G
e
t
B
e
a
n
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
315
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
g
e
t
B
e
a
n
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
199
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
c
o
n
f
i
g
.
D
e
p
e
n
d
e
n
c
y
D
e
s
c
r
i
p
t
o
r
.
r
e
s
o
l
v
e
C
a
n
d
i
d
a
t
e
(
D
e
p
e
n
d
e
n
c
y
D
e
s
c
r
i
p
t
o
r
.
j
a
v
a
:
251
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
a
d
d
C
a
n
d
i
d
a
t
e
E
n
t
r
y
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1322
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
f
i
n
d
A
u
t
o
w
i
r
e
C
a
n
d
i
d
a
t
e
s
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1288
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
r
e
s
o
l
v
e
M
u
l
t
i
p
l
e
B
e
a
n
s
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1190
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
d
o
R
e
s
o
l
v
e
D
e
p
e
n
d
e
n
c
y
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1093
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
r
e
s
o
l
v
e
D
e
p
e
n
d
e
n
c
y
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1062
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
C
o
n
s
t
r
u
c
t
o
r
R
e
s
o
l
v
e
r
.
r
e
s
o
l
v
e
A
u
t
o
w
i
r
e
d
A
r
g
u
m
e
n
t
(
C
o
n
s
t
r
u
c
t
o
r
R
e
s
o
l
v
e
r
.
j
a
v
a
:
818
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
C
o
n
s
t
r
u
c
t
o
r
R
e
s
o
l
v
e
r
.
c
r
e
a
t
e
A
r
g
u
m
e
n
t
A
r
r
a
y
(
C
o
n
s
t
r
u
c
t
o
r
R
e
s
o
l
v
e
r
.
j
a
v
a
:
724
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
.
.
.
38
c
o
m
m
o
n
f
r
a
m
e
s
o
m
i
t
t
e
d
C
a
u
s
e
d
b
y
:
j
a
v
a
.
l
a
n
g
.
I
l
l
e
g
a
l
S
t
a
t
e
E
x
c
e
p
t
i
o
n
:
A
m
b
i
g
u
o
u
s
m
a
p
p
i
n
g
.
C
a
n
n
o
t
m
a
p
′
t
e
m
p
l
a
t
e
C
o
n
t
r
o
l
l
e
r
′
m
e
t
h
o
d
p
u
b
l
i
c
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
c
o
m
.
e
x
a
m
p
l
e
.
w
e
b
.
t
e
m
p
l
a
t
e
C
o
n
t
r
o
l
l
e
r
.
i
n
d
e
x
(
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
u
i
.
M
o
d
e
l
M
a
p
)
t
o
[
/
]
:
T
h
e
r
e
i
s
a
l
r
e
a
d
y
′
h
e
l
l
o
C
o
n
t
r
o
l
l
e
r
′
b
e
a
n
m
e
t
h
o
d
p
u
b
l
i
c
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
c
o
m
.
e
x
a
m
p
l
e
.
w
e
b
.
h
e
l
l
o
C
o
n
t
r
o
l
l
e
r
.
i
n
d
e
x
(
)
m
a
p
p
e
d
.
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
h
a
n
d
l
e
r
.
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1322) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1288) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1190) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1093) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:818) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:724) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE] ... 38 common frames omitted Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'templateController' method public java.lang.String com.example.web.templateController.index(org.springframework.ui.ModelMap) to {[/]}: There is already 'helloController' bean method public java.lang.String com.example.web.helloController.index() mapped. at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
0(AbstractBeanFactory.java:317) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1322) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1288) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1190) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1093) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:818) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:724) [spring−beans−5.0.8.RELEASE.jar:5.0.8.RELEASE]...38commonframesomittedCausedby:java.lang.IllegalStateException:Ambiguousmapping.Cannotmap′templateController′methodpublicjava.lang.Stringcom.example.web.templateController.index(org.springframework.ui.ModelMap)to[/]:Thereisalready′helloController′beanmethodpublicjava.lang.Stringcom.example.web.helloController.index()mapped.atorg.springframework.web.servlet.handler.AbstractHandlerMethodMappingMappingRegistry.assertUniqueMethodMapping(AbstractHandlerMethodMapping.java:580) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
M
a
p
p
i
n
g
R
e
g
i
s
t
r
y
.
r
e
g
i
s
t
e
r
(
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
.
j
a
v
a
:
544
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
h
a
n
d
l
e
r
.
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
.
r
e
g
i
s
t
e
r
H
a
n
d
l
e
r
M
e
t
h
o
d
(
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
.
j
a
v
a
:
265
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.0.8.
R
E
L
E
A
S
E
.
j
a
r
:
5.0.8.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
h
a
n
d
l
e
r
.
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
.
l
a
m
b
d
a
MappingRegistry.register(AbstractHandlerMethodMapping.java:544) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:265) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE] at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambda
MappingRegistry.register(AbstractHandlerMethodMapping.java:544) [spring−webmvc−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:265) [spring−webmvc−5.0.8.RELEASE.jar:5.0.8.RELEASE]atorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lambdadetectHandlerMethods$1(AbstractHandlerMethodMapping.java:250) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:1.8.0_92]
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:248) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:218) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:188) ~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:136) ~[spring-webmvc-5
0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1758) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1695) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
… 52 common frames omitted