Reference
- [Spring] DI, IoC 정리
DI (Dependency Injection)
- 의존 관계를 주입하는 기능
- 하나의 객체 내에서 다른 객체를 생성(
new
) 하지 않고 외부에서 생성된 객체를 주입시켜 사용하는 것
- Spring framework에서 DI로 사용할 미리 생성된 Object를
Spring Bean
이라고 하며, 이들을 관리하는 곳을 Bean Container(IoC Container)이라 함.
- Spring Bean의 DI시에는 기본 Singleton pattern
- DI를 사용함으로 인해 Module 간의 결합도가 낮아지며, 유연성이 높아짐
IoC (Inversion of Control)
- 제어의 역전 (제어의 흐름을 바꿈)
- Method 및 Object 의 호출 작업을 개발자가 결정이 아닌 외부에서 결정되는 것
- Object의 Dependency를 역전 함으로, Object 간 결함도를 줄이고 유연한 코드 작성에 용이
What is difference?