728x90
반응형
Map과 List로 주입받기
-
Spring - 동일 타입의 빈을 모두 주입받을 수 있는 List, MapSpring/Spring 2022. 1. 24. 12:35
같은 타입의 빈 중 필요한 빈을 @Primary, @Qualifier를 통해 주입받아 사용할 수 있었다. 그런데 같은 타입의 빈이 모두 필요한 경우는 어떻게 해야 할까? 지금까지 블로깅 내용을 예로 들어보자. 지금까지 원하는 할인 정책(RateDiscountPolicy, FixDiscountPolicy) 중 필요한 정책을 선택하여 주입받아 사용해 왔다. 그런데 클라이언트가 할인의 종류를 선택할 수 있다고 가정했을 때 이 두 개의 정책 모두 주입받아야 사용해야 할 것이다. 물론 @Qualifier를 이용하여 주입받을 DiscountPolicy 필드를 2개 선언하여 주입할 수 있지만, 만약 할인 정책이 10개, 100개 라면 엄청난 코드 중복이 발생할 것이다. 이를 해결하기 위해 List와 Map을 이용한다..