프로그래밍 공부/Spring
[Spring] DI(Dependency Injection)
valid_ming
2021. 4. 28. 11:58
뉴렉쳐 강사님의 동영상 강의를 정리한 글입니다.
스프링 프레임워크의 코어기능
Spring의 가장 기본적인 능력 객체를 생성하고 조립하는 것
- DI(Dependency Injection)
- IoC Container
DI(종속성 주입, 부품 조립)
- Composition has a (일체형, 붙박이형)
class A
{
private B b;
public A(){
b = new B();
}
}
- A가 B를 일체형으로 가졌다.
- B는 A의 dependency(부품)이다.
- A의 객체 생성시 부품이 같이 생성됨
- A의 부품이 뭐가 있는지 잘 알 수 없음
- A의 부품 교체 어려움
- Association has a (조립형): setting을 해야 사용 가능, 업데이트시 유용
class A
{
private B b;
public void setB(B b){
this.b = b;
}
}
- A 객체를 만들 때 B 부품을 따로 만들어 조립
- B는 A의 dependency
- setter를 통해 조립 (Setter Injection)
- 생성자를 이용하여 조립 (Construction Injection)
이와 같이 조립하는 과정이 Dependency Injection이고,
Spring에서는 DI 기능을 지원.