[Spring] DI컨테이너는 구현체가 여러개일 때 어떤걸 주입해줄까?


[Spring] DI컨테이너는 구현체가 여러개일 때 어떤걸 주입해줄까?

DI컨테이너는 인터페이스 구현체가 여러개일 때 어떤걸 주입해줄까? 궁금증이 들어서 직접 확인해봤습니다. 오류가 날까요? 아니면 내부적으로 우선순위 조건이 존재하여 그에 맞게 부여될까요? SpringFramework에 기본 흐름을 이용하지 않고 ApplicationContext 를 직접 선언하였을 때와, SpringBoot 위에서 필드 주입, 생성자 주입을 하였을 때 어떻게 되는지 각각 확인해보았습니다. 확인할 항목들 GenericApplicationContext DispatcherServlet Case1. GenericApplicationContext Case2. AnnotationConfigWebApplicationContext Case3. @Autowired (필드 주입) Case4. @RequiredArgsConstructor (생성자 주입) 준비 테스트용 클래스 만들기 테스트를 위해서 HelloService라는 간단한 인터페이스를 만들고, 이를 상속하는 SimpleHelloS...


#applicationcontext #디버깅 #명시 #부트 #스프링 #실험 #어노테이션 #오류 #우선순위 #의존성 #의존성주입 #인스턴스 #주입 #동작 #내부 #autowired #beanfactory #container #debug #dependency #di #framework #injection #ioc #spring #util #객체 #프레임워크

원문링크 : [Spring] DI컨테이너는 구현체가 여러개일 때 어떤걸 주입해줄까?