I read about spring's best practices and think some are unnecessary boilerplate code without any real benefits.
I get the theory, but in practice, the benefits are just theoretical. You could reimplement interfaces for your tests, but it is easier just to use a mocking library.