• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Configuration이 없는 DiscountService 클래스에 대해

24.01.27 17:04 작성 24.01.27 17:10 수정 조회수 193

0

static class DiscountService {
    private final Map<String, DiscountPolicy> policyMap;
    private final List<DiscountPolicy> policies;

    @Autowired
    public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) {
        this.policyMap = policyMap;
        this.policies = policies;
        System.out.println("policyMap = " + policyMap);
        System.out.println("policies = " + policies);
    }

    public int discount(Member member, int price, String discountCode) {
        DiscountPolicy discountPolicy = policyMap.get(discountCode);
        return discountPolicy.discount(member, price);
    }
}

강의 예시처럼 DiscountService class에 @Configuration을 달지 않고,
ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); 코드를 실행시켰을 경우 단순히 개별 discountService 빈을 스프링 컨테이너인 ac에 등록되는 것인가요?

답변 1

답변을 작성해보세요.

1

안녕하세요. 최용준님

new AnnotationConfigApplicationContext()의 생성자에 매개변수로 클래스 정보를 넘겨주면 해당 클래스도 스프링 빈으로 등록됩니다. 🙂

감사합니다.