Besides having bean name prefixes ( e.g. "security:userService", "persistence:userService" ), you can take a look at setAllowBeanDefinitionOverriding
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
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".
Humans are stateful and mutable beings that have no problems processing many things concurrently and share state with others + they are usually "coupled"