녕의 학습 기록

[Spring 기본] 스프링 컨테이너와 빈 (3) 본문

Dev/Spring

[Spring 기본] 스프링 컨테이너와 빈 (3)

kjyyjk 2022. 11. 7. 00:37

 학습 내용 

 

XML 기반 스프링 컨테이너 생성

 

빈 설정 메타 정보 BeanDefinition


* 스프링 설정 형식

 

스프링 컨테이너는 설정 정보를 다양한 형식으로 받아들일 수 있다.

 

 

ApplicationContext(스프링 컨테이너) 아래에 이를 구현하는 다양한 형식의 설정 정보

 

XxxApplicationContext는 Xxx을 설정 정보로 사용하는 ApplicationContext이다

 

ex) GenericXml ApplicationContext는 GenericXml, 구체적으로는 appConfig.xml을 설정 정보로 사용하는 ac

 

* XML기반 설정

 

xml 형식의 설정정보

사용해왔던 AppConfig.java 와 구조만 다르지, 거의 똑같다

 

xml 기반은 스프링 부트를 사용하면서 잘 사용하지 않는 추세

 

따라서 이렇게 스프링 컨테이너 설정 정보를 유연하게 활용할 수 있구나 정도 ?

 

* BeanDefinition

 

스프링은 어떻게 유연하게 설정 정보를 받을 수 있을까

 

추상화. 즉, 역할과 구현으로 구분한 것이다

 

빈 설정 메타정보인 BeanDefinition 인터페이스

 

앞서 사용했던 xml이나 class 모두 이 BeanDefinition을 구현한 것이다

 

그리고 스프링 컨테이너가 이 BeanDefinition에만 의존하기 때문에(구현이 아닌 역할에 의존)

구현체인 설정 정보 형식을 유연하게 변경할 수 있다

 

스프링 컨테이너는 BeanDefinition에만 의존한다

 

실무에서 BeanDefinition을 직접 사용할 일은 거의 없기 때문에

 

다양한 형식의 설정 정보를 BeanDefinition으로 추상화 하여 사용한다는 것만 이해

 


 다음 학습 내용 

 

싱글톤 패턴과 싱글톤 컨테이너

 

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com