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

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

강석진님의 프로필 이미지
강석진

작성한 질문수

스프링 핵심 원리 - 기본편

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

Map<String, DiscountPolicy> 질문드립니다.

작성

·

162

1

Map<String, DiscountPolicy>를 생성자를 넣어줄 때, DiscountPolicy는 Autowired 에 의해 자동적으로 들어가는건 알겠는데String은 무슨 기준으로 들어가게되는건지 궁금합니다.
자동적으로 해당 클래스의 이름이 들어가도록 자바에서 정해놓은 것인가요?

답변 1

2

안녕하세요. 강석진님, 공식 서포터즈 codesweaver 입니다.

.

Bean이 스프링 컨테이너에 등록될 떄 Bean의 이름도 같이 등록합니다. 이 때 이 이름을 사용자가 직접 애노테이션의 속성으로 지정할 수 있고, 그냥 기본값으로 둘 수 있습니다. (아무 처리도 하지 않으면 기본값으로 들어갑니다)

.

보통, 기본값으로 처리하도록 두는 편입니다. 이 경우 클래스 이름에서 맨 앞글자만 소문자로 바꾼 이름으로 빈이 등록 됩니다. FixDiscountPolicy의 경우 "fixDiscountPolicy"로 등록됩니다.

.

Map의 String 키에는 바로 이 이름이 주입됩니다.

.

.감사합니다.

강석진님의 프로필 이미지
강석진
질문자

답변감사합니다 ^^

강석진님의 프로필 이미지
강석진

작성한 질문수

질문하기