I\'ve noticed that a lot of developers define an interface for EVERY class that is going to be injected using DI framework. What are the advantages of defin
This blog entry has a lot of the answers you are looking for: http://benpryor.com/blog/2006/08/23/java-advantages-of-interfaces/
If you don't design to interfaces, you are going to be hamstrung when it comes time to refactor your code and/or add enhancements. Using a DI framework is not really at issue when it comes to designing to an interface. What DI gives you is late-binding and much better ability to write unit tests.