ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring 구동 방식 Container 내용 간단하게 정리하기
    Framework/Spring 2022. 5. 3. 09:31
    반응형

    1. 웹 server 실행 Tomcat(WAS)에 의해 web.xml이 로딩
    2. ContextLoaderListener가 생성이 됨
      1. 여기서 ServletContext와 ApplicationContext(BeanFactory)를 생성함 ← 이놈들이 Ioc(컨테이너)를 담당 빈을 관리 해줌
    3. ContextLoaderListener가 root-context.xml을 로딩
    4. root-context.xml등록되어 있는 설정에 따라 Spring Container(ROOT)가 구동
    5. Client가 Web Application을 생성 하고 요청을 함
    6. Client가 요청 할 때만 DispatcherServlet이 생성이 됨
    7. DispatcherServelt을 생성을하면 Servlet-Context.xml이 로딩을 하고
    8. Spring Container가 구동이 되면서 Web Page에 맞는 화면을 Controll해줄 Controller들을 Container에 등록해줌

     

    Servlet Container

    • Servlet - 자바언어를 사용한 웹 페이지 처리 기술임
    • DispatcherServlet - Dispatch는 보내다라는 영어 뜻을 가지고 있음, 요청에 따라 Servlet을 만들어 보내는 역할
    • ContextLoaderListener - ApplicationContext.xml(Bean관리)을 등재하여 관리

     

    Servlet Container란?

    • Servlet Container - 사용자의 요청에 따라 Servlet(화면 처리 기술)을 생성, 실행, 파괴하는 Servlet LifeCycle 관리 담당

     

    Spring Container

    • 자바 객체(Bean)를 관리해주는 역할을 함
    • Ioc와 DI원리를 이용하여 자바 객체를 관리
    • 컨테이너는 BeanFactory와 ApplicationContext가 있음
    • BeanFactory는 Bean(자바 객체)를 관리해주는 역할
    • ApplicationContext는 BeanFactory를 상속받아 다국어 지원, 텍스트 메시지 관리, 이미지, 파일 관리 등을 더 간편하게 관리하게 도와 주는 역할 우리가 사용하는 건 거의 ApplicationContext라고 보면 됨

     

    Spring Container를 사용하는 이유

    • 모든 Context는 싱글톤으로 관리되어 유일한 객체로 관리됨
    • Lazy Loading으로 Servlet Context를 관리하기 때문에 메모리 관리 용의 ← 이건 Spring에서 알아서 해줌
    • DAO(Data Access Object), VO(Value Object)를 사용하여 POJO를 간편하게 구현 할 수 있게 도와줌
    반응형

    'Framework > Spring' 카테고리의 다른 글

    Spring Json 한글 깨짐 오류 정리 모음  (1) 2019.10.02
    Spring Json 데이터 보내기  (0) 2019.09.30
    Spring 시작 하기  (0) 2019.09.21

    댓글

Designed by Tistory.