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

lsj59285님의 프로필 이미지
lsj59285

작성한 질문수

스프링 핵심 원리 - 기본편

스프링 빈 설정 메타 정보 - BeanDefinition

BeanDefinition 질문

작성

·

167

0

구글링 해보니까 BeanDefinition은 인터페이스네요. 그러면 스프링이 BeanDefinition을 읽어들이는 과정이 이렇게 되나요?

"개발자가 작성한 환경 설정 파일의 상세 정보와 BeanDefinition 인터페이스가 (스프링이 읽을 수 있는)하나의 새로운 객체를 만들고, 그것을 스프링이 읽어들임으로써 컨테이너가 생성 및 작동한다."

틀린 부분이나 추가해야 될 부분이 있으면 수정 부탁드립니다.

답변 1

1

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

.
강의 내용으로 말씀드리자면

AppConfig.class를 파라미터로 ApplicationContext를 생성하게 되면

내부적으로는 AppConfig.class 정보를 바탕으로 BeanDefinition 인터페이스의 구현체 중 하나인 객체를 만듭니다. 그걸 바탕으로 스프링은 빈을 생성하게 됩니다.

아래 코드에서 AnnotationConfigApplicationContext에 AppConfig.class를 넘겨줬을 때 BeanDefinition의 구현체인 AnnotatedGenericBeanDefinition을 만드는 것을 볼 수 있습니다.


.
감사합니다.

lsj59285님의 프로필 이미지
lsj59285

작성한 질문수

질문하기