This might be a naive question. I\'m currently learning the Spring framework and dependency injection. While the basic principle of DI is rather easy to grasp, it\'s
Spring helps you understand and even encourages DI models. However, I don't believe you have to have Spring.
You can have configuration files in Java which you can debug, refactor and perform code analysis on.
I suggest you put these java configuration files in another package, but they are otherwise equivalent to XML configuration files. You can even load these file dynamically if that's important.