Back-end/Spring
[Spring] Spring DI/IoC는 어떻게 동작하나요?
호비_hobi
2021. 11. 8. 10:20
IoC(Inversion of Control: 제어의 역전) 은 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것으로 코드의 최종 호출은 개발자가 제어하는 것이 아닌 프레임워크의 내부에서 결정된 대로 이루어집니다.
DI(Dependency Injection: 의존관계 주입) 은 스프링 프레임워크에서 지원하는 IoC의 형태로 클래스 사이의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해줍니다.
스프링에서는 스프링 컨테이너 Application Context를 이용하여 설정 정보를 생성, 등록하고 필요한 객체를 생성자 혹은 setter를 통해 주입합니다.