Spring 열공!

IoC컨테이너 (Inversion of Control Container)

따봉언니 2021. 1. 5. 00:05
반응형

조립까지 해주는 부품을 담고 있는 컨테이너

조립 컴퓨터 구매를 생각해 본다.

컴퓨터를 조립할 수도 있지만, 조립비를 주고 전문가에게 맡기면 조립까지 해서 부품을 담아서 온다.

이러한 개념이라고 생각하면 된다.

부품의 주문서를 넣으면,

부품의 조립해서 담아서 온다

이런 개념이다.

이때 ,

조립의 순서에 집중!

작은 부품부터 큰 부품 순서로 조립이 된다!

DI의 순서

▶ 일체형의 경우

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class C {
    private D d;
    
    public C(){
        d = new D();
    }
}
 
class B {
    private C c;
    
    public B(){
        c = new C();
    }
}
 
class A {
    private B b;
    
    public A(){
        b = new B();
    }
}
cs

사용자 호출

1
A a = new A();
cs

호출이 이루어 지면 

A -> B -> C -> D 순서로 생성되어짐

▶ 조립형의 경우

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class C {
    private D d;
    
    public C(D d){
       this.d = d;
    }
}
 
class B {
    private C c;
    
    public B(C c){
        this.c = c;
    }
}
 
class A {
    private B b;
    
    public A(B b){
        this.b = b;
    }
}
cs

생성자 조립형태로 생성하여

사용자 호출시 

1
2
3
4
D d = new D();
C c = new C(d);
B b = new B(c);
A a = new A(b);
cs

D -> C -> B -> A 순서로 생성하여 호출이 이루어지게 된다

"일체형의 역순" 이라고 할 수 있다.

 

※뉴렉처님의 강의

 

반응형