Introduction to the Spring IoC Container and Beans(한글)
이 장에서는 제어의 역전(IoC) 원칙을 스프링 프레임워크에서 구현하는 방법을 다룹니다. 종속성 주입(DI)은 객체가 생성자 인수, 팩토리 메서드의 인수 또는 객체 인스턴스가 생성되거나 팩토리 메서드에서 반환된 후 객체 인스턴스에 설정된 속성을 통해서만 종속성(즉, 함께 작업하는 다른 객체)을 정의하는 IoC의 특수한 형태입니다. 그런 다음 IoC 컨테이너는 Bean을 생성할 때 이러한 종속성을 주입합니다. 이 프로세스는 기본적으로 클래스의 직접 구성 또는 서비스 로케이터 패턴과 같은 메커니즘을 사용하여 종속성의 인스턴스화 또는 위치를 제어하는 Bean 자체의 역방향(따라서 이름, 제어의 역전)입니다.
org.springframework.beans
및 org.springframework.context
패키지는 Spring Framework의 IoC 컨테이너의 기반입니다.
BeanFactory
인터페이스는 모든 유형의 객체를 관리할 수 있는 고급 구성 메커니즘을 제공합니다.
ApplicationContext
는 BeanFactory
의 하위 인터페이스입니다. 이를 포함합니다 :
-
Spring의 AOP 기능과의 손쉬운 통합
-
메시지 리소스 처리(국제화에 사용)
-
이벤트 게시
-
웹 애플리케이션에서 사용하기 위한
WebApplicationContext
와 같은 애플리케이션 계층별 컨텍스트.
간단히 말해, BeanFactory
는 구성 프레임워크와 기본 기능을 제공하고 ApplicationContext
는 더 많은 기업별 기능을 추가합니다.
ApplicationContext
는 BeanFactory
의 완전한 상위 집합이며, 이 장에서는 Spring의 IoC 컨테이너에 대한 설명에서 독점적으로 사용됩니다.
ApplicationContext
대신 BeanFactory
를 사용하는 방법에 대한 자세한 내용은 BeanFactory
API를 다루는 섹션을 참조하세요.
Spring에서는 애플리케이션의 백본(backbone)을 형성하고 Spring IoC 컨테이너에 의해 관리되는 객체를 Bean이라고 합니다. Bean은 Spring IoC 컨테이너에 의해 인스턴스화, 어셈블 및 관리되는 객체입니다. 그렇지 않으면 Bean은 애플리케이션의 많은 객체 중 하나에 불과합니다. Bean과 Bean 간의 종속성은 컨테이너에서 사용하는 구성 메타데이터에 반영됩니다.