@andypb,
Besides having bean name prefixes ( e.g. "security:userService", "persistence:userService" ), you can take a look at setAllowBeanDefinitionOverriding
Code:
javadoc: Set whether it should be allowed to override bean definitions by registering a different definition with the same name, automatically replacing the former. If not, an exception will be thrown. Default is "true".
In Spring 3.0 it actually works for all the imports as well, as described in this jira: Make it easier to disallow bean definition overriding
/Anatoly
Humans are stateful and mutable beings that have no problems processing many things concurrently and share state with others + they are usually "coupled"