SSAFY11th-book-study / book-study

SSAFY 11기 6반의 '토비의 스프링 스터디'
0 stars 0 forks source link

[1.7.3] 의존관계 검색(DL)와 제어의 역전(IoC) #12

Closed a-young-kim closed 8 months ago

a-young-kim commented 8 months ago

DL은 객체가 필요한 의존성을 주입받지 않고 외부에서 검색해서 사용하는 방식이고 IoC는 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하지 않고 제어 권한을 다른 대상에게 위임하는 것이라고 이해하였습니다. 또한, 의존성 주입(DI)이 IoC 의 일부라고 이해했는데 DL도 IoC의 일종이라고 할 수 있을까요??

limjongheok commented 8 months ago

저는 IOC 일종이라 이해했습니다. DL 또한 @Configuration @Bean을 이용하기 때문에 허나 저 또한 궁금한 점이 p.121 에서 의존관계 검색과 의존 관계 주입을 적용할 때 발견 할 수 있는 중요 차이점은 검색하는 오브젝트는 자신이 스프링 빈 일 필요가 없다 입니다. 스프링 빈이 아닌 new 로 해서 생성시 앞서 설명한 싱글톤 레지스트리가 아니여서 싱글톤이 아닐텐데 왜 빈 일 필요가 없는지 모르겠습니다.

a-young-kim commented 8 months ago

저는 앞선 코드와 관계없이 검색하는 오브젝트가 bean이 아니어도 스프링 컨테이너가 검색할 수 있다라고 이해했습니다. 싱글톤으로 사용하려면 검색하는 오브젝트가 스프링빈이어야 하지만 싱글톤이 아니어도, 일반 객체일 경우에도 의존관계 검색을 할 수 있다는 것이라고 생각했습니다. 싱글톤으로 사용하지 않지만 의존관계 검색이 필요한 경우가 있는 거 같습니다. 예를 들어 프로토타입 스코프의 경우에는 싱글톤을 사용하지 않으며 getBean을 통해 새롭게 생성하고 불러오는 것 같습니다.