GitHub

https://github.com/Choidongjun0830

Spring

[Spring] Spring Container

gogi masidda 2023. 8. 29. 16:39

Spring Container

Spring Beans와 그들의 생애주기를 관리하는 것.

우리가 여러개의 자바 클래스를 만들고 우리는 Configuration 파일도 만든다. 그리고 input으로 Spring Container에 넘긴다.

  • Bean Factory : Basic Spring Container (인터페이스)
    • Bean Factory를 직접 사용하는 경우는 거의 없으므로 일반적으로 ApplicationContext를 스프링 컨테이너라고 한다.
    • 스프링 컨테이너의 최상위 인터페이스
    • 스프링 빈을 관리하고 조회하는 역할을 담당한다.
    • getBean()을 제공한다
  • ApplicationContext : Advanced Spring Container with enterprise-specific features (인터페이스)
    • Bean Factory를 상속받음. Bean Factory의 기능에 부가기능 추가.
      • 메세지 소스를 활용한 국제화 기능
        • 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로.
      • 환경변수
        • 로컬, 개발, 운영 등을 구분해서 처리
      • 애플리케이션 이벤트
        • 이벤트를 발행하고 구독하는 모델을 편리하게 지원
      • 편리한 리소스 조회
        • 파일, 클래스패스, 외부 등에서 리소스를 편하게 조회
    • ApplicationContext 아래에 AnnotationConfigApplicationContext가 상속받음.
    • 웹 애플리케이션에서 사용하기 쉽다.
    • internationalization에 쉽다
    • Spring AOP와 통합하기 쉽다.
728x90

'Spring' 카테고리의 다른 글

[Spring] Component Scan  (0) 2023.09.02
[Spring] Singleton Pattern  (0) 2023.08.31
[Spring] Spring Bean  (0) 2023.08.28
객체 지향 프로그래밍  (0) 2023.08.25
[Spring] Dependency Injection  (0) 2023.08.21