java – 为什么我在基于注释的配置的不同包中没有相同的Controller名称?

发布时间:2019-07-25 整理:脚本之家
脚本之家收集整理的这篇文章主要介绍了java – 为什么我在基于注释的配置的不同包中没有相同的Controller名称?脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随脚本之家小编过来看看吧!

Jul 27,2011 10:56:15 AM org.springframework.web.servlet.FrameworkServlet 
initServletBean

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: 

Unexpected exception parsing XML document from ServletContext resource
[/WEB-INF/dispatcher-servlet.xml]; 

nested exception is java.lang.IllegalStateException: 

Annotation-specified bean name 'fooController' for 
bean class [com.fooapp.ctrl.FooController] 
conflicts with existing,non-compatible bean definition of same name 
and class [com.fooapp.ctrl.admin.FooController]

在两个包中,我使用@Controller注释定义了Controller:

@Controller
public class FooController {
...

我是否必须在管理包中为Controller使用其他名称?

最佳答案
@Component或派生(@ Controller,@ Service等)的默认bean名称是具有较低第一个字符的非限定类名.为了将这两个控制器放在一起,只需设置一个不同的bean名称(至少其中一个):

@Controller("secondFooController")

检查文档的this section.

总结

以上是脚本之家为你收集整理的java – 为什么我在基于注释的配置的不同包中没有相同的Controller名称?全部内容,希望文章能够帮你解决java – 为什么我在基于注释的配置的不同包中没有相同的Controller名称?所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!