我们可以为XML中提到的同一个bean ID有重复的名称吗?如果没有,那么我们如何在Spring中重写bean?
任何给定的Spring上下文对于任何给定的ID或名称都只能有一个bean。对于XML id
属性,这是通过模式验证来实施的。对于name
属性,这是由Spring的逻辑强制执行的。
但是,如果上下文是从两个不同的XML描述符文件构造的,并且id
两个文件都使用,则一个将“覆盖”另一个。确切的行为取决于上下文加载文件时文件的顺序。
因此,尽管有可能,但不建议这样做。它容易出错且脆弱,如果更改一个ID而不更改另一个ID,你将无法从Spring获得帮助。