JAVA/Spring & Spring Boot
추상화 된 빈 설정 메타 정보 BeanDefinition(빈 정의)
신우섭
2022. 2. 4. 01:34
추상화 된 빈 설정 메타 정보 BeanDefinition(빈 정의)
스프링 XML, JAVA 코드, Groovy 등의 다양한 설정 형식을 지원합니다.
이렇게 다양한 설정을 지원할 수 있는 이유는 "BeanDefinition" 이라는 추상화가 있기에 가능합니다.
- XML을 읽어서 -> BeanDefinition
- 자바 코드를 읽어서 -> BeanDefinition
- Groovy 코드를 읽어서 -> BeanDefinition
스프링 컨테이너는 JAVA 코드인지, XML인지 몰라도 됩니다, 오직 BeanDefintion 만 알면 됩니다.
스프링 컨테이너는 이 BeanDefintion 즉 빈 설정 메타정보를 기반으로 스프링 빈을 생성합니다.