스프링이 애플리케이션의 객체들에 대한 의존성을 빌드하고 설정하게 위임하는 것은 편리하다. 이 작업을 스프링에 맡기면 많은 코드를 작성하지 않고도 앱을 더 쉽게 읽고 이해할 수 있다. 하지만 스프링은 때때로 혼동될 수 있는데, 실제로 자주 발생하는 시나리오는 실수로 순환 의존성(circular dependency)을 생성하는 것이다.