-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
@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
김영한
지식공유자2024.01.28
안녕하세요. 최용준님
new AnnotationConfigApplicationContext()의 생성자에 매개변수로 클래스 정보를 넘겨주면 해당 클래스도 스프링 빈으로 등록됩니다. 🙂
감사합니다.
답변 1