一尘不染

Spring's overriding bean

spring

我们可以为XML中提到的同一个bean ID有重复的名称吗?如果没有,那么我们如何在Spring中重写bean?


阅读 333

收藏
2020-04-16

共1个答案

一尘不染

任何给定的Spring上下文对于任何给定的ID或名称都只能有一个bean。对于XML id属性,这是通过模式验证来实施的。对于name属性,这是由Spring的逻辑强制执行的。

但是,如果上下文是从两个不同的XML描述符文件构造的,并且id两个文件都使用,则一个将“覆盖”另一个。确切的行为取决于上下文加载文件时文件的顺序。

因此,尽管有可能,但不建议这样做。它容易出错且脆弱,如果更改一个ID而不更改另一个ID,你将无法从Spring获得帮助。

2020-04-16