인프런 커뮤니티 질문&답변

스프린이님의 프로필 이미지
스프린이

작성한 질문수

스프링 핵심 원리 - 기본편

다양한 의존관계 주입 방법

@Autowired 주입

작성

·

318

0

이전에는 AppConfig 클래스에서 @Bean을 통해 빈을 수동으로 컨테이너에 등록할때  

@Bean
public DiscountPolicy discountPolicy(){
return new RateDiscountPolicy();
//return new FixDiscountPolicy();
}

에서 보듯이 discountPolicy로 RateDiscountPolicy와 FixDiscountPolicy 중 어떤 객체를 빈으로 등록할지 정하였습니다. 

그런데 @Component 와 @Autowired를 사용할땐 

RateDiscountPolicy와 FixDiscountPolicy 중 어떤 클래스에 @Component를 붙일지 정해야 하는게 맞는건가요?

객체를 교체하고 싶으면 이전에는 AppConfig클래스 코드를 수정하였는데 이제는 단순히 @Component를 어디지 붙일지 수정하면 되는건가요? 헷갈리네요 ㅠㅠ

답변 3

2

안녕하세요. dkwkghkdlxld3님, 공식 서포터즈 OMG입니다.

스프링에서 동일한 타입의 빈이 2개 이상인 경우 에러가 발생합니다.

그렇기 때문에 질문 주신 내용처럼 주석처리로 하나씩 등록하였는데요,

이러한 불편한 점을 해소하기 위해 @Qualifier와 @Primary 을 사용하여 해결하며, 4~5개 강의를 더 수강하시면 관련된 설명을 해주십니다 ^^


감사합니다.

0

-

0

스프린이님의 프로필 이미지
스프린이
질문자

넵 감사합니다.

스프린이님의 프로필 이미지
스프린이

작성한 질문수

질문하기