Denpendency Injection & Dependency Lookup
- Dependency Injection
Spring IoC의 동작원리는 주로 DI(Dependency Injection)이다. Spring 공식 Doc보면, IoC를 DI라고 표현하기도 한다.
Dependency Injection의 정의는 다음과 같다.
Dependency Injection :
program run time 시에 의존관계를 맺는 대상인 dependent object 와 , 그것을 사용하는 주체인 client object를 연결시켜주는 작업
DI는 정리하면 다음과 같은 3 조건을 충족시키는 작업을 말한다.
- class model(class diagram)에는 의존관계가 들어나지 않음 , 즉 client가 Interface에 의존하고 있어야 한다.
- run time시 의존관계는 container와 같은 다른 주체가 결정한다.
- 의존관계는 사용할 dependent object의 reference를 외부에서 주입해줌으로서, 만들어진다.