I've got a question about a correct usage of Spring.
I know that some people use the DI "aggressively" so that they always use spring and completely eliminate the usage of word "new" in the production code.
On the other hand, I know that spring suits better for integration. For example like stated here this really looks reasonable and I tend to agree with this approach.
In my project the usage of spring is not really well-defined, so some people use it just for integration, others use it for everything that can be injected.
Now, I heard a lot of lecture about clean code and the art of unit testing, so I know that in order to write good unit testable code we should use DI container.
But since the unit test covers the code at the level of class (bean) It doesn't make sense to use more than 1 DI framework in the same project... So this effectively means that I should follow the extreme (first) approach.
So, my question is, what are the general rules of thumb given the fact that after all, I want to organize my code so that it will be easy unit-testable?