Spring/Java bean

BeanFactory와 ApplicationContext 차이

수달하나 2021. 6. 25. 16:17

BeanFactory

 

스프링 컨테이너의 최상위 인터페이스

스프링 빈을 관리하고 조회하는 역할 담당.

getBean() 제공

 

 

ApplicationContext

 

BeanFactory 기능을 모두 상속받아서 제공.

ApplicationContext 가 상속받는 인터페이스

  • BeanFactory
  • MessageSource : 메세지 소스를 활용한 국제화 기능
  • EnvironmentCapable : 환경 변수 (로컬, 개발, 운영등을 구분해서 처리)
  • ApplicationEventPublisher : 이벤트를 발행하고 구독하는 모델을 편리하게 지원
  • ResourceLoader : 파일, 클래스패스, 외부 등에서 리소스를 편리하게 조회

 

대부분 BeanFactory를 직접적으로 사용할 일은 거의 없고 부가 기능이 포함된 ApplicationContext 를 사용하게 된다.