自动分配spring的bean名称以防止名称冲突?

2024-01-08

在Spring应用程序中,如果两个程序员开发两个包,将@Repository注释为相同的类名,Spring将抛出“IllegalStateException”:

注解指定的bean名称 'mybean' 代表 bean 类 [foobar.package1.mybean] 冲突 与现有的、不兼容的 bean 相同名称和类的定义 [foobar.package2.mybean]

一种解决方案是在 @Repository 中添加额外的值,例如@Repository("package1.mybean") and @Repository("package2.mybean"),但我正在寻找一种更有效的解决方案,可以自动缓解这种情况。我希望该解决方案能够实现以下目标:

  1. 程序员可以在他的包中任意命名他们的bean className,而不管名称是否与其他包(程序员)冲突。这样程序员就不需要大喊“嘿,我要使用 bean 名称 XXXXX,不要与我冲突”。

  2. 无需手动分配 XML bean 名称。

  3. 如果bean名称可以自动分配给类的完整类名,那就太好了。

有任何想法吗 ?谢谢。 (春季3)


在您的配置中的某个位置,您已经启用了类路径扫描,可能使用

<context:component-scan>

您可以指定一个名为name-generator,它需要一个实现了BeanNameGenerator界面。创建您自己的该接口的实现并提供对其的引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动分配spring的bean名称以防止名称冲突? 的相关文章

随机推荐

  • 无法消除包含 div 内的 2 个水平 div 之间的空间

    应该很容易吧 只需将外部包含 div 的填充设置为零 并将外部 div 内的两个并排 div 设置为 margin 0 但这对 2 个水平 div 之间的空间没有影响 我需要的是红色轮廓的左侧 div 来触摸绿色轮廓的右侧 div 尽管我努
  • Rails 4 - Yaml 配置文件

    我有这个文件config application yml settings info name MyAppName domain example com contact email email protected cdn cgi l ema
  • PHP 类型转换

    我想知道将值从一种类型转换为另一种类型的最佳方法是什么 我们应该使用哪种变体 intval value settype value int int value 它们都产生相同的结果 int value 与以下相比节省一个函数调用intval
  • Android 通话应用程序未重置音频流

    我设置了一个活动应用程序来使用自我管理连接服务 因为我们正在使用音频和视频并且希望能够利用该系统 然而 我们关闭连接或更改音频流的方式导致了一个问题 我将在此尽力描述该问题 当我开始应用程序的通话时 一切都按我们希望的方式工作 它以免提电话
  • 找不到关键字参数 '{'pk': ''}' 的反向 'plan_edit'。尝试了 1 个模式:['palan/edit$']

    我收到以下错误 找不到关键字参数 pk 的反向 plan edit 尝试了 1 个模式 palan edit 有谁知道如何解决它 urls py urlpatterns url r views post list name post lis
  • Android Studio - 检查代码 - 排除生成的文件

    有什么办法 如何排除 android 生成的文件 或手动指定排除的文件夹 分析 gt 检查代码 使用自定义范围 单击 分析 gt 检查代码 后 在 指定检查范围 对话框中 单击 自定义范围 后的 定义一个新的范围 递归包含Android a
  • 什么时候应该使用实体框架?

    我是实体框架的新手 当然 我在 SOF 上发现了一些关于目标用例的问题 让我给你一些信息 我不与不同的数据库供应商或不同的数据库打交道 一台 而且只有一台 SQL Server 2008 数据库的表少于 30 个 我真的需要重做事情并使用实
  • Multer 文件缓冲区丢失

    从以下返回的 req file 属性不包含缓冲区属性 https www npmjs com package multer https www npmjs com package multer 因此 当我尝试访问 req file buff
  • 使用 Android AccountManager 获取 gdata 的 authtoken

    所以我试图同步到谷歌文档 而不必询问用户的凭据 我使用此代码来获取身份验证令牌 AccountManager mgr AccountManager get activity authToken mgr blockingGetAuthToke
  • Mac 上的 JFileChooser 看不到中文字符命名的文件?

    该程序在Intellij中运行时运行良好 可以看到中文命名的文件 我将其构建到 jar 文件中 执行了 jar 和JFileChooser无法看到那些文件 我在 Windows 中尝试了该 jar 它工作得很好 这个文件在 Mac OS X
  • PDO——真实的事实和最佳实践? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 通过 HTML 代码在 UIView 中使用透明背景色

    我正在尝试在 UIView 中显示广告 我需要将背景颜色设置为透明 我尝试使用 viewObject setBackgroundColor UIColor clearcolor 尽管它使 UIView 透明 但它显示白色背景 下面是我尝试过
  • 当 QProcess 需要用户输入 Qt 时如何读取

    我使用 Qt 来实现一个允许开发嵌入式系统的接口 我面临一个问题 为了将程序闪存到嵌入式系统中 我使用 QProcess 以便使用命令 make 和 make flash 保证没有任何问题 程序编译成功 但是当我尝试对 make flash
  • Overlay.draw() 调用多次

    我有一个关于draw 的方法OverlayAndroid 地图中的类 移动地图时的方法draw 接到几次电话 从 4 次到 13 次 这对我来说是个问题 因为这个方法必须用 70000 点重新绘制我的路线 这是很多资源 我找不到这个问题的描
  • .NET 垃圾收集器之谜

    在我的工作中 我们遇到了 OutOfMemoryExceptions 问题 我编写了一段简单的代码来模仿某些行为 最终得到了以下谜团 看看这段简单的代码 当内存不足时 它就会崩溃 class Program private static v
  • 高分子纸波纹

    我试图在按下按钮时更改元素的颜色 我希望当按下按钮并且颜色发生变化时在该元素中触发纸张波纹效果 我该怎么做呢 目标元素
  • 充当文件上传的div?

    我只是想上传或浏览 div 本身 就像作为文件输入并触发其功能 但我的问题是我对 java 脚本很陌生 并且为自己集思广益近一个小时并寻找互联网上同样的问题 所以我别无选择只能在这里提问 my code div style border 1
  • Android AsyncTask 与进度对话框取消

    在我的android应用程序中 我使用带有进度对话框的AsyncTask 请等待登录 来使用我的网页 异步任务内的Web服务功能 登录用户 当用户单击设备上的 后退 按钮时 我想关闭进度对话框并取消 AsynTask 我找不到用于中断 As
  • Swift - 从 JSON 响应创建数据模型

    我正在学习 Swift 语言 很高兴听到其他人输入的内容之一是 如何处理来自 JSON 响应的模型 例如 I have User swift model class User NSObject var user token String v
  • 自动分配spring的bean名称以防止名称冲突?

    在Spring应用程序中 如果两个程序员开发两个包 将 Repository注释为相同的类名 Spring将抛出 IllegalStateException 注解指定的bean名称 mybean 代表 bean 类 foobar packa