Spring

Bean Factory 와 Application Context

Parker Park 2021. 11. 23. 01:41
  • BeanFactory
    • 스프링 컨테이너의 최상위 인터페이스이다.
    • 빈을 조회하고 관리하는 역할을 담당한다.
    • getBean 등등
  • ApplicationContext
    public interface ApplicationContext extends EnvironmentCapable, MessageSource, ApplicationEventPublisher, ResourcePatternResolver, ListableBeanFactory, HierarchicalBeanFactory { ... }
    • BeanFactory의 모든 기능을 상속하는 인터페이스다.
    • 빈을 관리하고 조회하는 기능 + 수 많은 부가 기능을 지원한다.
      • MessageSource
        • 메시징에 대한 국제화 기능을 제공한다.
      • EnvironmentCapable
        • 환경별로 구분해서 처리할 수 있도록 하는 기능을 제공한다.
      • ApplicationEventPublisher
        • 프레임워크 내에 이벤트를 발행하거나 구독하는 부가 기능을 제공한다.
      • ResourcePatternResolver
        • 파일, 클래스패스, 외부 등에서 리소스를 편리하게 조회하도록 기능을 제공한다.
    • 보편적으로 ApplicationContext 를 스프링 컨테이너라고 부르고, 이것만 사용한다.