인프런 커뮤니티 질문&답변
@Autowired 주입
작성
·
403
0
이전에는 AppConfig 클래스에서 @Bean을 통해 빈을 수동으로 컨테이너에 등록할때
@Bean
public DiscountPolicy discountPolicy(){
return new RateDiscountPolicy();
//return new FixDiscountPolicy();
}
에서 보듯이 discountPolicy로 RateDiscountPolicy와 FixDiscountPolicy 중 어떤 객체를 빈으로 등록할지 정하였습니다.
그런데 @Component 와 @Autowired를 사용할땐
RateDiscountPolicy와 FixDiscountPolicy 중 어떤 클래스에 @Component를 붙일지 정해야 하는게 맞는건가요?
객체를 교체하고 싶으면 이전에는 AppConfig클래스 코드를 수정하였는데 이제는 단순히 @Component를 어디지 붙일지 수정하면 되는건가요? 헷갈리네요 ㅠㅠ
퀴즈
66%나 틀려요. 한번 도전해보세요!
필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?
불변성을 보장하기 어려워서
의존성 변경이 쉬워서
순수 Java 코드로 테스트하기 어려워서
설정 코드 작성이 복잡해서





