Notice
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
01-25 03:08
Today
Total
관리 메뉴

그날그날 공부기록

BeanDefinition 본문

Spring 공부

BeanDefinition

given_dragon 2022. 7. 18. 17:34

이 전 포스팅에서 java와 xml을 이용하여 스프링 빈 정보를 작성하였다.

스프링은 어떻게 다양한 방법으로 작성된 설정 정보를 읽고 이해할 수 있을까?

 

XML로 작성하든 java로 작성하든 BeanDefinition으로 추상화하기 때문이다.

BeanDefinition은 빈 설정 메타정보이다.

 

스프링 컨테이너를 생성하는 자바 코드를 확인해 보면 다음과 같이 형식에 맞는 BeanDefinitionReader를 생성한다.

그리고 reader는 코드를 읽고 BeanDefinition을 생성한다.

Annotation(자바코드)으로 작성된 설정정보를 바탕으로 스프링 컨테이너를 만드는 클래스
XML문서를 기반으로 스프링 컨테이너를 만드는 클래스

 

스프링 컨테이너는 java나 xml을 읽고 생성된 BeanDefinition을 이용하여 스프링 빈을 생성한다.

어떤 언어로 작성되었든 BeanDefinitionReader를 통해 생성된 BeanDefinition만 있으면 된다.

그렇기 때문에 새로운 BeanDefinitionReader를 직접 생성하여 사용할 수도 있다. → 잘 쓰이진 않는다고 한다.

 

+ @Bean, <bean>마다 메타정보가 생성된다.

'Spring 공부' 카테고리의 다른 글

싱글톤 방식의 주의점  (0) 2022.07.21
싱글톤 컨테이너  (0) 2022.07.19
BeanFactory & ApplicationContext  (0) 2022.07.15
스프링 빈 조회  (0) 2022.07.11
스프링 컨테이너 생성 과정  (0) 2022.07.07
Comments