반응형
번역 : 종속성 주입 , 부품조립
Dependency 개념
일체형
Composition has a
class A
{
private B b; // B는 A의 종속되어 있다. B는 A의 부품이다.
public A(){
b = new B(); // 직접 만들어 끼우는 일체형 부품
}
}
사용자 입장에서의 사용
A a = new A();
이렇게 사용 가능
일체형이기 때문에 A만 만들면 B는 자동으로 생성되고 사용자 입장에서는 부품이 어떤게 들어있는지 알 수 없음.
조립형
Association has a
- 일체형에 비해 느슨한 결합
class A
{
private B b; // B는 A의 종속되어 있다. B는 A의 부품이다.
public A(B b){
this.b = b;
}
public void setB(B b){ // 세팅해서 조립하여 사용하는 부품
this.b = b;
}
}
사용자 입장에서의 사용
B b = new B(); // Dependency - 부품
A a = new A();
a.setB(b); // Injection - 부품을 주입하는 것
- 장점 : 부품을 쉽게 바꿀 수 있다
- 단점 : 부품을 생성해서 조립해야 하는 번거로움
Injection 개념
Setter Injection
세터를 이용한 부품 주입
B b = new B(); // Dependency - 부품
A a = new A();
a.setB(b); // Injection - 부품을 주입하는 것
Construction Injection
생성자를 이용한 부품 주입
B b = new B(); // Dependency - 부품
A a = new A(b); // Injection - 부품을 주입하는 것
▶ 스프링이 이러한 부품을 조립해 주는 역할을 해준다
▶ 스프링이 DI의 역할을 해준다
오늘의 뉴렉처님 강의
반응형
'Spring 열공!' 카테고리의 다른 글
05 Dependency 직접 Injection 하기 (feat, 뉴렉처) (1) | 2021.01.06 |
---|---|
IoC컨테이너 (Inversion of Control Container) (0) | 2021.01.05 |
02 느슨한 결합력과 인터페이스 (0) | 2021.01.04 |
01 뉴렉처 님의 Spring 강의 (feat, Spring 소개) (0) | 2021.01.04 |