Strategy for Multiple Bean
//전 @Autowired private DiscountPolicy discountPolicy //후 : 필드명을 빈 이름으로 변경 'rateDiscountPolicy' @Autowired private DiscountPolicy rateDiscountPolicy
Last updated
//전
@Autowired
private DiscountPolicy discountPolicy
//후 : 필드명을 빈 이름으로 변경 'rateDiscountPolicy'
@Autowired
private DiscountPolicy rateDiscountPolicy
Last updated
@Component
@Qualifier("mainDiscountPolicy")
public class RateDiscountPolicy implements DiscountPolicy {}
@Component
@Qualifier("fixDiscountPolicy")
public class FixDiscountPolicy implements DiscountPolicy {}//예
@Component
@Primary //제외시 FixDiscountPolicy와 NoUniqueBeanDefinitionException 터짐
public class RateDiscountPolicy implements DiscountPolicy
package hello.core.annotataion;
import org.springframework.beans.factory.annotation.Qualifier;
import java.lang.annotation.*;
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,
ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier("mainDiscountPolicy")
public @interface MainDiscountPolicy {
}