Closed a-young-kim closed 8 months ago
저는 IOC 일종이라 이해했습니다. DL 또한 @Configuration @Bean을 이용하기 때문에 허나 저 또한 궁금한 점이 p.121 에서 의존관계 검색과 의존 관계 주입을 적용할 때 발견 할 수 있는 중요 차이점은 검색하는 오브젝트는 자신이 스프링 빈 일 필요가 없다 입니다. 스프링 빈이 아닌 new 로 해서 생성시 앞서 설명한 싱글톤 레지스트리가 아니여서 싱글톤이 아닐텐데 왜 빈 일 필요가 없는지 모르겠습니다.
저는 앞선 코드와 관계없이 검색하는 오브젝트가 bean이 아니어도 스프링 컨테이너가 검색할 수 있다라고 이해했습니다. 싱글톤으로 사용하려면 검색하는 오브젝트가 스프링빈이어야 하지만 싱글톤이 아니어도, 일반 객체일 경우에도 의존관계 검색을 할 수 있다는 것이라고 생각했습니다. 싱글톤으로 사용하지 않지만 의존관계 검색이 필요한 경우가 있는 거 같습니다. 예를 들어 프로토타입 스코프의 경우에는 싱글톤을 사용하지 않으며 getBean을 통해 새롭게 생성하고 불러오는 것 같습니다.
DL은 객체가 필요한 의존성을 주입받지 않고 외부에서 검색해서 사용하는 방식이고 IoC는 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하지 않고 제어 권한을 다른 대상에게 위임하는 것이라고 이해하였습니다. 또한, 의존성 주입(DI)이 IoC 의 일부라고 이해했는데 DL도 IoC의 일종이라고 할 수 있을까요??