[Spring] IoC와 DI
·
스터디/Spring
Spring하면 항상 나오는 개념인 IoC와 DI에 대해서 정리를해본다. IoC (Inversion Of Control) 의역하면 "제어의 역전"이라고한다. 제어의 역전이란 무엇일까? 말그대로 메서드나 객체의 생성, 호출을 개발자가하는 것이 아닌 외부에서 결정하는 것이다. 스프링에서는 스프링 컨테이너가 제어권을 갖고 적절한 시점에 필요한 객체를 생성하고 메서드를 호출한다. 아래 코드 예시를 살펴보자. 과거에는 개발자들이 필요한 생성자를 new 키워드로 객체를 직접 생성하였다. class OwnerController { private OwnerRepository repository = new OwnerRepository(); } 제어권이 스프링 컨테이너로 넘어가고 객체의 생성 및 생명주기까지 관리 할 수 ..