There is already '******' bean method

来源:互联网 发布:海地软件 编辑:程序博客网 时间:2024/06/05 22:33
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'menuController' method public com.opengratis.common.result.ServiceResult<java.lang.String> com.opengratis.admin.controller.maintenance.menu.MenuController.insertAction(javax.servlet.http.HttpServletRequest,com.opengratis.usercenter.entity.ucmenu.UcMenuEntity)to {[/manager/maintenance/menu],methods=[POST],produces=[application/json;charset=UTF-8]}: There is already 'menuController' bean methodpublic java.lang.String com.opengratis.admin.controller.maintenance.menu.MenuController.checkMenuName(javax.servlet.http.HttpServletRequest,com.opengratis.usercenter.entity.ucmenu.UcMenuEntity) mapped.at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)at com.opengratis.AdminStartApplication.main(AdminStartApplication.java:36)Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'menuController' method public com.opengratis.common.result.ServiceResult<java.lang.String> com.opengratis.admin.controller.maintenance.menu.MenuController.insertAction(javax.servlet.http.HttpServletRequest,com.opengratis.usercenter.entity.ucmenu.UcMenuEntity)to {[/manager/maintenance/menu],methods=[POST],produces=[application/json;charset=UTF-8]}: There is already 'menuController' bean methodpublic java.lang.String com.opengratis.admin.controller.maintenance.menu.MenuController.checkMenuName(javax.servlet.http.HttpServletRequest,com.opengratis.usercenter.entity.ucmenu.UcMenuEntity) mapped.at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.assertUniqueMethodMapping(AbstractHandlerMethodMapping.java:576)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:540)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:264)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:250)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:214)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:184)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:127)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)... 14 common frames omitted
今天出现这么个错误,查了半天,以为是bean的名称重复,后来发现是方法的
@RequestMapping 写错了,
@RequestMapping(name = "checkMenuName", method = {RequestMethod.POST}, produces = "application/json;charset=UTF-8")
这样写是不对的。
@RequestMapping(value = "checkMenuName", method = {RequestMethod.POST}, produces = "application/json;charset=UTF-8")

不能用name,要用value,切记切记

1 0