개발 블로그

스프링 컨테이너는 스프링에서 자바 객체들을 관리하는 공간을 의미하며 스프링 컨테이너에 의해서 관리되는 자바 객체를 '빈'이라고 부릅니다.

 

스프링 컨테이너를 통해서 객체의 생성/주입/관리 등을 개발자가 아닌 스프링 프레임워크가 담당하게 되므로 IoC 컨테이너라고 부르기도 합니다.

 

스프링 컨테이너는 최상위 인터페이스인 BeanFactory 와 이를 상속하여 부가 기능을 추가한 ApplicationContext 인터페이스를 구현하고 있습니다.

 

BeanFactory 인터페이스에는 빈의 등록, 생성, 관리 등의 역할을 담당하는 기능들이 정의되어 있고 ApplicationContext 인터페이스에는 BeanFactory를 상속 받아 기본적인 빈의 생명주기 관리는 물론 그 외 부가 기능들이 정의되어 있습니다.

 

ApplicationContext 가 제공하는 부가 기능 중 대표적인 기능으로는 Profile을 설정할 수 있게 하는 기능이 있습니다.

 

그 외에도 BeanFactory를 Lazy-Loading 방식으로 빈 빈을 로딩하는 반면 ApplicationContext 는 Eager-Loading 방식으로 런타임 실행 시 미리 모든 빈을 로딩한다는 차이가 있습니다.

profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!