프로그래밍 공부/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 기능을 지원.