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

최용준님의 프로필 이미지
최용준

작성한 질문수

스프링 핵심 원리 - 기본편

조회한 빈이 모두 필요할 때, List, Map

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

작성

·

247

·

수정됨

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()의 생성자에 매개변수로 클래스 정보를 넘겨주면 해당 클래스도 스프링 빈으로 등록됩니다. 🙂

감사합니다.

최용준님의 프로필 이미지
최용준

작성한 질문수

질문하기