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

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

Seongwon Yang님의 프로필 이미지
Seongwon Yang

작성한 질문수

스프링 핵심 원리 - 기본편

스프링으로 전환하기

getBean()의 파라미터

작성

·

578

1

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
getBean() 함수를

(1번 코드)

MemberService memberService = applicationContext.getBean("memberService", MemberService.class);

이렇게 사용을 해주셨는데 인텔리제이에서 자동완성 기능을 사용했더니

(2번 코드)

MemberService memberService = applicationContext.getBean(MemberService.class);

이런 식으로 나오더라구요.

 

(1번 코드)처럼 파라미터를 두개로 사용할 때, bean 이름과 파라미터 name 값이 다르면 오류가 생겨요. 그러면 애초에 name 파라미터 값이 필요한 이유가 있는걸까요??

그리고 또 궁금한 것이 (2번 코드)로 사용을 안하고 왜 (1번 코드)로 사용을 하는 것인지 궁금해요

답변 1

2

안녕하세요. Seongwon Yang님, 공식 서포터즈 OMG입니다.
.

다음 링크를 참고해주세요.

추가로

2번 방식은 클래스의 타입으로만 조회가 가능합니다.

하지만 스프링 빈의 이름을 재정의하였을 때 조회하려면 1번 방식처럼 빈의 이름으로도 조회할 수 있어야합니다.

@Component("memberService2")
위와 같이 빈의 이름을 재정의 했을 때 2번 방식으로 조회가 가능할지를 고민해보시면 될 것 같습니다 :)

.
감사합니다.

Seongwon Yang님의 프로필 이미지
Seongwon Yang

작성한 질문수

질문하기