본문 바로가기
개발노트/Spring

DI ( Dependency Injection )

by vendi2 2020. 9. 27.

@ DI 란 ?

 - 스프링 Container 에 만들어 둔 각종 클래스 ( bean ) 들은 서로 의존적이다.

 - A 객체는 B 객체 없이 동작이 불가능하다. 

 

 

 

 

1.  Hotel 클래스 

   호텔은 레스토랑 없이 운영이 될 수 없다 .

   만약, 레스토랑이 없다면 reserveRestaurant 기능을 사용할 수 없다.

  reserveRestaurant 이 필드 private Restaurant res를 참조하고 있다. 

   res 객체를 참조하지 않았다면  "  null point Exception "  발생할 것이다. 

 

2. Restaurant 클래스 

 

 호텔은 레스토랑에 의존적이다.   => DI 를 갖고 있다.

 레스토랑은 쉐프 없이 운영을 할 수 없다.  => Chef 에 의존적이다. 

 

 3. Chef 클래스

  출력 용도 

  HOTEL    << ====  Restaurant  <==== Chef 

 

@ 한 클래스에서 보기 


두번째 처리 방법 ) 

상단과 같이 test - context . xml 에서 미리 주입을 설정해주고 

호출로 이용할 수 도 있다. 

 

이후에는 더 편리하게 사용 할 수 도 있다. 

'개발노트 > Spring' 카테고리의 다른 글

@Autowired, @Resource, @Inject  (0) 2020.10.01
prefix 에러  (0) 2020.09.27
프레임워크 개요  (0) 2020.09.27
XML 사용시 필수 넣어줘야 하는 코드  (0) 2020.09.25
JSON 의 개념  (0) 2020.09.15

댓글