DI
Spring DI 란?
Spring DI 란? DI 란? 구체적인 구현체에 의존하지 않고 추상화된 객체에 의존하게 하여 결합도을 낮추는 것. 구현체에 의존하게 되면 사용하는 구현체가 변경되었을 때 구현체를 사용하는 코드의 변경이 생기게 됨. 이는 OCP 를 위반함. 추상화된 객체에 의존하게 하고 구현체를 외부에서 주입해주면 사용하는 코드의 변경이 필요 없게 됨. 이를 의존성 주입(DI) 라고 함. Spring 에서의 DI 스프링에서는 구현체를 주입해주는 외부가 IOC 컨테이너임. 먼저 빈을 등록하고, 각 빈에 필요한 의존성을 주입해준다. 개발자는 빈에 해당하는 객체들을 작성하고, 그 빈에 필요한 의존성은 Spring 에서 주입해주고 호출하기에 이를 제어의 역전(IOC) 라고 함.