DI는 생성된 객체 인스턴스를 관리하고 앱을 개발할 때 작성하는 코드를 최소화하는 데 도움이 되는 매우 편리한 방법이라 스프링뿐만 아니라 DI를 자주 사용하게 된다.

▲ 그림 3-8 IoC 원칙을 사용하지 않는 애플리케이션은 자체적으로 실행을 제어하고 다양한 의존성을 사용한다, IoC 원칙을 사용하는 애플리케이션은 의존성이 앱 실행을 제어하도록 위임한다, DI가 바로 이런 제어에 대한 예다, 프레임워크(의존성)는 앱의 객체 필드에 값을 설정한다