[Spring] Bean이 2개 이상일 때 특정 Bean 선택 방법 (다형성 의존성 주입)
설명에 사용할 예시 코드 온라인 쇼핑몰에서 정률 할인과 정액 할인이 있다고 가정해보자. 그렇다면 다음과 같이 할인 정책 인터페이스와 각각의 구현체가 있을 것이다. 아래는 결제를 도와주는 결제 서비스 레이어이다. PaymentService에서 DiscountPolicy 인터페이스를 Autowired로 의존성 주입 받고 있다. (참고로 생성자가 하나면 @Autowired를 생략가능하다.) 이 때 @Autowired는 의존성 주입을 하기 위해 내부적으로 해당 객체의 타입 DiscountPolicy로 스프링 컨테이너에서 Bean을 조회한다. 그런데 DiscountPolicy를 구현한 Bean 등록된 구현체는 FlatDiscountPolicy와 RateDiscountPolicy 2개가 있다. (이미 인텔리제이가 ..