-
Spring 구동 방식 Container 내용 간단하게 정리하기Framework/Spring 2022. 5. 3. 09:31반응형
- 웹 server 실행 Tomcat(WAS)에 의해 web.xml이 로딩
- ContextLoaderListener가 생성이 됨
- 여기서 ServletContext와 ApplicationContext(BeanFactory)를 생성함 ← 이놈들이 Ioc(컨테이너)를 담당 빈을 관리 해줌
- ContextLoaderListener가 root-context.xml을 로딩
- root-context.xml등록되어 있는 설정에 따라 Spring Container(ROOT)가 구동
- Client가 Web Application을 생성 하고 요청을 함
- Client가 요청 할 때만 DispatcherServlet이 생성이 됨
- DispatcherServelt을 생성을하면 Servlet-Context.xml이 로딩을 하고
- 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