본문 바로가기

Spring

DI 와 IOC 컨테이너

반응형

DI (Dependency Injection)

A라는 객체가 B,C에 의존한다.

어떤 객체가 작업을 할 때 다른 객체의 도움을 받아 진행

방법 1) 다른 객체를 직접 생성해서 사용.

ex) A라는 객체 안에서 new B()를 통해 B객체 인스턴스를 만들어 사용.

 

방법 2) B/C 객체를 외부에 생성하여 A에 넣어줌.

A객체가 존재하는데 A객체의 setter()혹은 생성자를 통해 B ,C객체를 넣어줌.

 

A라는 객체에 B b가 존재

setter b() 라는 메소드를 통해

외부에서 new B()를 주입시키면 A의 b에 도킹됨.

 

객체 하나하나가 부품이라고 할 수 있음.

A를 구성하는 여러 부품이 존재 예를들어 핸들이라고 하면

핸들에는 여러 종류가 있음 B,C,D,E

어떤 A는 B핸들을 사용하고 어떤 A는 C핸들을 사용하는 식.

이 B,C,D,E 부품들을 담고 있는 컨테이너 -> IOC컨테이너

 

스프링이란 결국 부품을 생성하고 조립하는 라이브러리 집합체

반응형