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

ston5519님의 프로필 이미지
ston5519

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 빈 조회 - 상속 관계

Object 로 빈 검색할때와 getBeanDefinitionNames() 로 검색할때 결과가 왜 다르죠?

작성

·

308

1

안녕하세요 getBeanDefinitionNames() 로 빈 이름들을 반환받아서 빈들을 조회 할때보다

 

Object 하위 개체 빈들을 검색할때 더 많은 빈들이 반환되는것을 보고 궁금한 점이 생겼습니다.

 

 getBeanDefinitionNames() 는 BeanFactory 에서 이름들을 반환받던데, BeanFactory와 ApplicationContext 가 다루는 빈의 범위가 다른걸까요?

 

 

 

답변 1

2

안녕하세요. ston5519님, 공식 서포터즈 David입니다.

.
대부분의 빈은 BeanDefinition을 통해 빈이 생성되고 등록되지만

일부 빈은 BeanDefinition 없이 빈을 생성하여 등록하는 경우가 있습니다.

따라서, BeanDefinitionNames를 통해 가져온 목록과 getBeansOfType(Object.class)로 가져온 목록이 다릅니다.

 

예를들면, 부트 실행시 나오는 Banner의 경우, BeanDefinition없이 생성되어 빈 저장공간에  등록됩니다.


.
감사합니다.

ston5519님의 프로필 이미지
ston5519

작성한 질문수

질문하기