DI, IoC, 컨테이너와 같은 개념들은 Spring Framework의 가장 기본적인 특징입니다. 1. IoC(Inversion of Control, 제어의 역전) 프로그램의 제어 흐름을 프로그래머가 직접적으로 제어하는 것이 아니라, 외부에서 관리하는 것 프로그래머가 객체를 생성할 때, 직접 생성하는 것이 아니라 스프링 컨테이너에서 생성하고 등록된 객체(Bean)를 가져오는 것입니다. 즉, 제어권을 본인이 아닌, 프레임워크(Spring 컨테이너)에게 넘겨줬기 때문에 IoC라는 개념이 도입됐습니다. 2. DI(Dependency Injection, 의존관계 주입) 애플리케이션 실행 시점에 외부에서 실제 구현 객체를 생성하고, 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것 Sprin..