빈타입

    [Spring] 자동 주입 대상이 2개 이상일 때

    자동 주입 대상이 2개 이상일 때, @Autowired는 타입으로 조회하기 때문에 문제가 발생한다. Ex ) GradePolicy의 구현체이자 하위 타입인 RelativeGradePolicy, AbsoluteGradePolicy가 모두 스프링 빈으로 등록이 되어 있을 때 자동으로 의존 관계를 주입할 수 없음. (선택의 기준이 없기 때문) 하위 타입으로 지정하면 해결할 수 있지만, 이는 DIP를 위배하고 유연성이 떨어지기 때문에 좋은 방법이 아니다. 또 한, 이름만 다르고 완전히 똑같은 타입의 스프링 빈이 2개 있을 때는 해결이 되지 않는다. 스프링 빈을 수동으로 등록하는 방법을 생각할 수 있지만, 의존 관계 자동 주입에서 제공하는 여러 방법이 있는데 이를 이용하는 것이 좋다. 의존 관계 자동 주입 방법 ..