如果我在Root Application上下文和Child Application上下文中创建具有相同名称的bean
(在根应用程序上下文和调度程序servlet上下文中)
子应用程序上下文会覆盖bean定义吗?
请解释什么行为?
还解释了如果我包含其他配置类并且两者都包含具有相同名称的bean,那么在Java Config中的行为是什么。
是否会创建两个bean?或者一个人会覆盖另一个人。
答案 0 :(得分:0)
根据我的实验
在父和子应用程序上下文中,为每个应用程序上下文创建新Bean,而不管Bean名称是否相同。
从(自动装配)父应用程序上下文进行的任何调用都会引用父应用程序上下文中的Bean 。
从(autowired by)子应用程序上下文进行的任何调用都会引用子应用程序上下文中的Bean 。
并且在Java Config中导入包含具有相同名称的bean的其他配置不会创建新Bean,并且会覆盖Bean定义。 此效果与从XML导入同名bean相同。