This article by Mark Eagle discusses how to combine several well-known frameworks, including Spring, to achieve loose coupling, how to structure your architecture, and how to enforce a consistent design across all application layers.
A well known article by Martin Fowler where he provides a pretty clear definition for the terms Inversion of Control and Dependency Injection. I believe this is the first public use of the term Dependency Injection.