인프런 커뮤니티 질문&답변
DisCountService에서의 policyMap 빈 객체 가져오기 ?
작성
·
263
2
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요 '조회한 빈이 모두 필요할 때, List, Map 강의에서 질문이 있어서 글을 남깁니다
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요 '조회한 빈이 모두 필요할 때, List, Map 강의에서 질문이 있어서 글을 남깁니다
스프링 컨테이너에 DiscountService를 빈으로 등록하고, 생성자 의존관계 주입을 통하여 주입한 Map과 List는 밑의 테스트 케이스에서getBean으로 가져오려면 어떻게 해야 할까요 ??
public class AllBeanTest {
@Test
void findAllBean(){
ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class);
DiscountService discountService = ac.getBean(DiscountService.class);
Map bean = ac.getBean(Map.class);
System.out.println("bean.get(\"policyMap\") = " + bean.get("policyMap"));
Member member = new Member(1L, "userA", Grade.VIP);
int discountPrice = discountService.discount(member, 10000, "fixDiscountPolicy");
}
static class DiscountService{
private final Map<String, DiscountPolicy> policyMap;
private final List<DiscountPolicy> policyList;
@Autowired
public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policyList) {
this.policyMap = policyMap;
this.policyList = policyList;
System.out.println("policyMap = " + policyMap);
System.out.println("policyList = " + policyList);
}
public int discount(Member member, int price, String discountCode) {
DiscountPolicy discountPolicy = policyMap.get(discountCode);
return discountPolicy.discount(member, price);
}
}
}





