在根和子应用程序上下文中具有相同名称的 Bean?
Posted
技术标签:
【中文标题】在根和子应用程序上下文中具有相同名称的 Bean?【英文标题】:Bean with same name in Root and Child Application Context? 【发布时间】:2016-08-02 18:57:32 【问题描述】:如果我在根应用程序上下文和子应用程序上下文中创建具有相同名称的 bean (如在根应用程序上下文和调度程序 servlet 上下文中) 子应用程序上下文会覆盖 bean 定义吗? 请解释一下会有什么行为? 如果我包含其他配置类并且都包含同名的bean,还要解释Java Config 中的行为。 会创建两个 bean 吗?或者一个会覆盖另一个。
【问题讨论】:
男孩,这似乎是一个很好的实验候选者!为什么不尝试一下并告诉我们结果呢? 【参考方案1】:根据我的实验
在父应用上下文和子应用上下文中,为每个应用上下文创建新的 Bean无论 Bean 名称是否相同。 任何来自 ( autowired by ) 父应用上下文的调用都是指父应用上下文中的 Bean。 任何来自 ( autowired by ) 子应用上下文的调用都是指子应用上下文中的 Bean。
And In Java Config 导入包含同名 bean 的其他配置不会创建新的 Bean,并且 Bean 定义被覆盖。 此效果与从 XML 导入同名 bean 的效果相同。
【讨论】:
以上是关于在根和子应用程序上下文中具有相同名称的 Bean?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JAVA 在 Blob 存储容器中一起下载存储在根和子文件夹中的多个文件?