
스프링 컨테이너
스프링 컨테이너는 스프링 프레임워크에서 핵심적인 역할을 수행하는 컴포넌트입니다. 스프링 컨테이너는 애플리케이션에서 사용되는 다양한 빈(Bean)을 생성하고, 관리합니다.
스프링 컨테이너는 두 가지 종류가 있습니다. 첫째, BeanFactory는 스프링 컨테이너의 가장 기본적인 형태로, 빈의 생성과 관리에 대한 기능을 제공합니다. 둘째, ApplicationContext는 BeanFactory의 모든 기능을 포함하며, 추가적으로 다양한 부가 기능을 제공합니다. 예를 들어, 메시지 처리, 이벤트 처리, 국제화, 프로파일링 등의 기능을 제공합니다.
스프링 컨테이너는 설정 파일에 등록된 빈의 정보를 이용하여, 빈 객체를 생성하고, 의존성 주입을 수행합니다. 이 때, 빈의 생성과 의존성 주입은 스프링 컨테이너가 담당하며, 빈 객체의 생성과 관리를 외부에서 신경쓰지 않아도 됩니다.
스프링 컨테이너는 빈 객체의 싱글톤(Singleton) 생성 방식을 사용합니다. 따라서, 동일한 빈 객체를 요청하면 항상 동일한 객체를 반환합니다. 이를 통해 객체의 생성 비용을 줄일 수 있으며, 메모리 사용량도 감소시킬 수 있습니다.
스프링 컨테이너는 스프링의 핵심적인 역할을 수행하는 컴포넌트입니다. 스프링 컨테이너는 빈의 생성과 관리, 의존성 주입 등의 작업을 처리하며, 이를 통해 애플리케이션의 객체지향적인 설계를 도와줍니다.
간단 요약 : 스프링 컨테이너는 스프링 프레임워크에서 Bean을 생성하고 관리하는 핵심 컴포넌트입니다. 컨테이너는 BeanFactory와 ApplicationContext를 제공하며, BeanFactory는 Bean 생성과 의존성 주입 등의 기본적인 기능을 제공하고, ApplicationContext는 이를 확장하여 다양한 기능을 제공합니다. 컨테이너는 Bean의 라이프사이클을 관리하며, Singleton, Prototype, Request, Session 등의 스코프를 가진 Bean을 관리합니다.