““It should never be possible for an administrator to break objects associations inside the application [he's talking about Spring dependency injection]. That's just wearing your guts on the outside. Whenever possible, keep production configuration properties separate from the basic wiring and plumbing of the application. They should be in separate files so the administrators do not accidentally edit internals. [...] Mixing them is the equivalent of putting the ejection seat button next to the radio tuner. Sooner or later, something bad will happen.””