This is the main reason to avoid Spring.
Having so much critical code in XML and properties configuration files, annotations, and magical interfaces that somehow sprout implementations with no source code, make it impossible to debug using the normal techniques of Java development.
"Show me all of the implementations of this interface method"
"Show me where this object is instantiated"
"Show me the code being invoked when I call this method"
In my day to day work, Spring's only purpose often seems to be hiding the code that will actually execute when my program runs.