작성
·
564
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번 방식으로 조회가 가능할지를 고민해보시면 될 것 같습니다 :)
.
감사합니다.