Dependency injection with Spring allows managing object dependencies and compositions. It handles composing objects by externalizing the lookup and assembly of collaborating objects. This avoids tight coupling. Spring supports dependency injection through XML configuration, annotations, and Java configuration. It handles creating and assembling objects and their dependencies. Dependency injection improves testability and maintainability of applications.