【发布时间】:2011-03-24 02:50:22
【问题描述】:
在一个spring应用中,如果两个程序员开发两个包,将@Repository注解为相同的类名,Spring会抛出“IllegalStateException”:
注解指定的bean名称 'mybean' 用于 bean 类 [foobar.package1.mybean] 冲突 与现有的不兼容的 bean 同名同类的定义 [foobar.package2.mybean]
一种解决方案是在@Repository 中添加额外的值,例如@Repository("package1.mybean") 和@Repository("package2.mybean"),但我正在寻找一种更有效的解决方案,可以自动缓解这种情况。我希望解决方案能够实现这些目标:
程序员可以在他的包中任意命名他们的bean className,而不管名称是否与其他包(程序员)冲突。这样程序员就不需要大喊‘嘿,我要使用 bean name XXXXX,不要和我冲突’。
没有手动分配 XML bean 名称。
- 如果 bean 名称可以自动分配给类的完整类名,那就太好了。
有什么想法吗?谢谢。 (春季 3)
【问题讨论】:
标签: spring