인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

박지인님의 프로필 이미지
박지인

작성한 질문수

스프링 핵심 원리 - 기본편

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

수업 중 질문

작성

·

253

0

@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);
}

이 부분에서 나중에 policies를 discount()에서 사용하지 않는데 Map과 List를 다 생성자 파라미터로 써주신거는 Map이나 List 둘 중 하나를 사용해도 된다는 것을 보여주시려는 건가요?

만약에 List를 쓴다면 다음과 같이 discount를 바꿔줘야 하는게 맞나요?

public int discount(Member member, int price, int discountnum) {
DiscountPolicy discountPolicy=policies.get(discountnum);
return discountPolicy.discount(member, price);
}

테스트는 맞게 나오는데 그럼 policies에 fix, rate가 들어갈때 순서는 어떻게 정해지나요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 지인님

Map이나 List 둘 중 하나를 사용해도 된다는 것을 보여주시려는 건가요?

-> 네 맞습니다.

만약에 List를 쓴다면 다음과 같이 discount를 바꿔줘야 하는게 맞나요?

-> List를 사용한다면 DiscountPolicy에 discountCode 같은 것을 넣어두고(설계를 고쳐야 겠지요?) 이것을 조회할 수 있게 만든 다음에, 루프를 돌면서 확인하는 방식을 사용하면 됩니다.

감사합니다.

박지인님의 프로필 이미지
박지인

작성한 질문수

질문하기