본문 바로가기
Learning-log/Spring & JPA

(스프링 핵심 원리 - 기본편)스프링 빈 조회- 4-(7)다양한 설정형식 지원 - 자바코드, XML, (8)스프링 빈설정 메타 정보 - BeanDefinition

by why제곱 2023. 4. 3.

- 다양한 설정형식 지원 - 자바코드, XML

  • 스프링 컨테이너는 자바코드, XML, Groovy 등등 다양한 형식의 설정정보 받아드릴 수 있음
  • XML 설정 사용
    • 최근에는 많이 사용 X
    • 하지만 아직 많은 레거시 프로젝트들이 XML로 되어있으며 XML을 사용하면 컴파일 없이 설정 정보 변경 가능한 장점도 있음
    • GenericXmlApplicationContext 사용

 

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

  • 스프링이 다양한 설정 형식을 지원하는 것은 역할과 구현을 개념적으로 나누어 추상화를 했기 때문에 가능한 것.
  • XML을 읽어서 BeanDefinition, 자바코드를 읽어서 BeanDefinition만 만들면 되기 때문 
  • BeanDefinition : 빈 설정 메타정보 
  • 이 메타정보를 기반으로 스프링 빈 생성함
  • 실무에서 BeanDefinition을 정의하거나 사용할 일은 거의 없다,,