1.1 스프링 IoC 컨테이너와 빈의 도입 by sh

1.1 스프링 IoC 컨테이너와 Beans의 도입

이 쳅터는 제어의 역전(IoC) 원리에 대한 스프링 프레임워크의 구현체에 대해 설명합니다. IoC는 의존성 주입(DI)이라고 하기도 합니다. 이것은, 객체가 함께 동작해야 하는 의존성을 정의하는 처리 과정입니다. IoC 컨테이너는 생성자 인수, 팩토리 메소드에 대한 인수, 또는 팩토리 메소드에서 생성되거나 리턴된 객체 인스턴스에 설정된 특성들을 통해서만 의존성을 정의합니다. 그 다음에, 컨테이너는 Bean이 생성될 때 이러한 의존성을 주입합니다. 이 프로세스는 기본적으로 클래스의 직접적인 구성이나 서비스 로케이터 패턴과 같은 매커니즘을 사용하여 의존성들의 인스턴스 또는 위치를 자체적으로 제어하는 "제어의 역전"입니다.

org.springframework.beans와 org.springframework.context 패키지는 스프링 프레임워크 IoC 컨테이너의 기반입니다. BeanFactory 인터페이스는 어떠한 타입의 객체도 다룰 수 있는 향상된 설정 매커니즘을 제공합니다. ApplicationContext는 BeanFactory의 서브 인터페이스로, 아래의 기능들이 더해집니다. (아래 기능들과 더 쉬운 통합을 제공함)

  • 스프링의 AOP 기능

  • 국제화를 위한 메시지 리소스 핸들링

  • 이벤트 발생

  • 애플리케이션 계층에서 지정한 특정 컨텍스트 (Ex. 웹 어플리케이션에서 사용하는 WebApplicationConext 사용)

간단히 말하면, BeanFactory는 설정 프레임워크와 기본적인 기능을 제공하고, ApplicationContext는 엔터프라이즈 급에 가까운 더 많은 기능들이 추가됩니다. ApplicationCotext는 BeanFactory의 완전한 슈퍼 셋이고, 이 장에서 스프링의 IoC 컨테이너를 설명하는 데에 광범위하게 사용됩니다. BeanFactory를 사용하는 방법에 대한 자세한 내용은 The BeanFactory를 참조하십시오.

스프링에서, 애플리케이션의 뼈대를 이루고 IoC 컨테이너에 의해 관리되는 객체들을 Beans라고 합니다. Bean은 스프링 IoC 컨테이너에 의해 인스턴스화되고, 조합 및 관리되는 객체입니다. 그렇지 않다면, Bean은 단순히 응용 프로그램의 많은 객체들 중 하나입니다. Bean들과 그들 사이의 의존성들은 컨테이너가 사용하는 설정 메타데이터에 반영됩니다.

Last updated