스프링 프레임워크 코어기능 : 종속 객체를 생성 조립해주는 도구

2022. 5. 16. 20:54spring

DI(Dependency injection), ioC Container

1)DI

 - 직역하면 종속적 주입이지만 부품 조립이라고 보면 된다

 

 예)

class A {
	private B b;
    
    public A() {
    	b = new B();
    }
}

A a = new A();

클래스 A가 B라는 객체를 생성할 때 A는 B라는 객체를 클래스 내에 가지고 있다. 이런
관계를 A가 B를 일체형으로 가졌다 해서 일체형 Has a 관계라고 한다.

class A {
	private B b;
    
    public A() {
    
    }
    
    public void setB(B b) {
    	this.b = b;
    }
}

B b = new B();
A a = new A();

a.setB(b);	//종속적 주입

위 관계에서는 A가 B 객체를 가졌지만 생성을 내부에서 하지 않고 외부에서 생성해서 b객체에 세팅한다.
이런 형태는 조립형이라고 볼 수 있다.

 

2) ioC 컨테이너

 -객체를 생성하고 관리하고 책임지고 의존성을 관리해주는 컨테이너