Spring Container를 알고 싶어요

기르기르·2022년 11월 8일
0
post-thumbnail
post-custom-banner

Spring Container를 간략하게 설명하자면

Spring은 개발자를 대신하여 Spring Container를 통해서 객체 관리를 하는데 여기서 관리되는 객체를 빈(Bean)이라고 한다. IoC 혹은 DI를 도맡아 진행하기 때문에 IoC Container 혹은 DI Container로도 불린다.
이러한 Spring Container는 BeanFactory와 ApplicationContext로 나뉜다.

BeanFactory, ApplicationContext

BeanFactory

  • Spring Container의 최상위 인터페이스이며 빈을 등록, 생성, 조회하여 돌려주고 그 외에 부가적인 관리하는 기능을 가진다.
  • 빈의 정의는 즉시 로딩하지만 빈 자체가 필요하게 될때까지 인스턴트화 하지 않는다.

ApplicationContext

  • BeanFactory를 포함한 여러 인터페이스들을 상속받은 인터페이스이며 Spring Container라고하면 일반적으로 ApplicatinContext를 의미한다.

  • BeanFactory와 마찬가지로 빈을 생성하고 빈 사이의 런타임 의존관계를 맺어주는 역할뿐만 아니라 이외의 부가 기능을 제공한다.

    • MessageSource : 메세지소스를 활용한 국제화 기능 (한국어,영어 등)
    • EnvironmentCapable : 로컬,개발,운영등을 구분해서 처리하고 정보들을 관리하기 위한 인터페이스
    • ApplicationEventPublisher : 이벤트 관련 기능들을 제공하는 인터페이스
    • ResourceLoader : 파일, 클래스 패스, 외부 등 리소스를 조회하기 위한 인터페이스

참고 Blog, Web

https://jobjava00.github.io/language/java/framework/spring/container/ (Container)
https://chobopark.tistory.com/200 (ApplicationContext)
https://jypthemiracle.medium.com/servletcontainer%EC%99%80-springcontainer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4-%EB%8B%A4%EB%A5%B8%EA%B0%80-626d27a80fe5 (Spring Container, Servlet Container의 차이)

post-custom-banner

0개의 댓글