Spring Inversion Of Control(IOC)

업데이트:

Inversion Of Control(IOC)

객체의 의존관계에 대한 책임을 제 3자에게 위임하는 것이다.

BeanFactory

  • Spring Bean1 Container에 접근하기 위한 최상위 인터페이스이다.
  • Bean 생성, 의존성 주입, 생명주기(Life Cycle) 관리 등의 기능을 제공한다.

ApplicationContext

  • 응용 프로그램에 대한 구성을 제공하는 중앙 인터페이스이다.
  • ListableBeanFactory 인터페이스를 상속받아 애플리케이션 Component에 접근하기위한 Bean Factory Method를 제공한다.
  • ResourceLoader 인터페이스를 상속받아 일반적인 방식으로 파일 리소스를 로드하는 기능을 제공한다.
  • ApplicationEventPublisher 인터페이스를 상속받아 등록 된 리스너에 이벤트를 게시하는 기능을 제공한다.
  • MessageSource 인터페이스를 상속받아 국제화를 지원하는 메시지 해결 기능을 제공한다.

StaticApplicationContext

  • 코드를 통해 빈 메타정보를 등록하기 위해 사용한다.
  • 거의 사용하지 않는 구현체이다.

GenericApplicationContext

  • 실전에서 사용될 수 있는 모든 기능을 갖추고 있는 ApplicationContext이다.
  • 일반적으로 ApplicationContext를 의존성 주입(DI)받는 객체이다.

GenericXmlApplicationContext

  • GenericApplicationContext와 Reader를 통해 설정 파일을 읽을 수 있는 XmlBeanDefinitionReader를 합친 ApplicationContext이다.

WebApplicationContext

  • 웹 환경에서 사용할 때 필요한 기능이 추가된 ApplicationContext이다.

XmlWebApplicationContext (Default)

  • XML 설정 파일을 사용하는 WebApplicationContext이다.

AnnotationConfigWebApplicationContext

  • 어노테이션 기반으로 설정하는 WebApplicationContext이다.

Reference

댓글남기기