Spring’s overriding bean

Any given Spring context can only have one bean for any given id or name. In the case of the XML id attribute, this is enforced by the schema validation. In the case of the name attribute, this is enforced by Spring’s logic.

However, if a context is constructed from two different XML descriptor files, and an id is used by both files, then one will “override” the other. The exact behaviour depends on the ordering of the files when they get loaded by the context.

So while it’s possible, it’s not recommended. It’s error-prone and fragile, and you’ll get no help from Spring if you change the ID of one but not the other.

Leave a Comment