/
스프링 IoC 컨테이너

스프링 IoC 컨테이너

스프링 IoC 컨테이너

  • 의존성 주입(DI)를 이용하여 애플리케이션을 구성하는 컴포넌트를 관리함.
  • 협력하는 컴포넌트 간의 연관관계를 형성함.
  • org.springframework.beansorg.springframework.context 패키지는 스프링 프레임워크 IoC 컨테이너의 기반임.

참고

  • IoC / DI와 관련해서는 이곳을 참고할 것

애플리케이션 컨텍스트(ApplicationContext)

  • org.springframework.context.ApplicationContext 인터페이스
  • BeanFactory의 서브 인터페이스임.
  • 더 쉬운 통합을 제공함.
    • 스프링의 AOP 기능
    • 국제화(i18n, internationalization)를 위한 메시지 리소스 핸들링
    • 이벤트 발행(event publication)
    • 애플리케이션 레이어 특정 컨텍스트(예. 웹 애플리케이션을 위해 WebApplicationContext 사용)

빈 팩토리(BeanFactory)

BeanFactory or ApplicationContext?

  • 특별한 이유가 없는 한 애플리케이션 컨텍스트를 사용할 것을 권장함. [1]
기능BeanFactoryApplicationContext
빈 인스턴스화/와이어링YesYes
자동 BeanPostProcessor 등록NoYes
자동 BeanFactoryPostProcessor 등록NoYes
편리한 MessageSource 접근(i18n을 위한)NoYes
ApplicationEvent 발행(publication)NoYes



[1] ^ http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#context-introduction-ctx-vs-beanfactory