不同包下controller命名重复的问题
报错代码:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [springmvc-admin.xml]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'indexController' for bean class [com.situ.mall.web.controller.IndexController] conflicts with existing, non-compatible bean definition of same name and class [com.situ.mall.admin.controller.IndexController] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:417)
问题原因:
因为如果在使用注解 @Controller 时候,如果不使用命名,而SpringMVC会默认把类名的头一个字母小写,然后放到一个map中这样,就会出现两个键完全一样的Controller。由于SpringMVC不使用覆盖的方式处理具有相同键的不同全类名的Controller,、扫描的时候就会包上面的错误
解决的办法:
在@Controller上使用名称
如:test.controller.bill.BillSaveController中
尚存疑问:
问题昨天一晚上也没有解决,今天早上才解决,原因就是之前这样写是不报错的,可是改了一点配置文件就报错了,昨天也没想到是这个问题导致。