[Spring] Tomcat Server 기동 시 Listener와 Spring IoC Container의 초기화 과정

2024. 10. 10. 16:19·Spring
목차
  1. Tomcat 서버와 리스너 개요
  2. Listener와 Spring IoC 컨테이너 초기화
  3. Spring 컨테이너의 Bean 등록 및 의존성 주입
  4. DispatcherServlet과 Controller의 동작 흐름
  5. 리스너와 IoC 컨테이너의 역할

Tomcat 서버와 리스너 개요

Tomcat 서버가 켜지면 먼저 서블릿 컨테이너가 동작한다. 이때 웹 애플리케이션이 초기화되고, 설정 파일(web.xml 등)에 정의된 리스너가 등록돼 동작을 시작한다. 리스너는 서버의 상태 변화(시작, 종료, 세션 생성 등)를 감지하는 역할을 한다.

Listener와 Spring IoC 컨테이너 초기화

ContextLoaderListener가 web.xml에 등록돼 있으면 톰캣이 켜질 때 이 리스너가 동작해서 Spring의 ApplicationContext.xml를 초기화한다. 이 과정에서 Spring의 IoC 컨테이너가 생성된다.

Listener는 주로 ApplicationContext 를 설정하고, 필요한 Bean들을 로딩한다. Spring Application은 이때 XML 설정 파일이나 어노테이션을 기반으로 IoC 컨테이너가 구성된다.

Spring 컨테이너의 Bean 등록 및 의존성 주입

Listener 가 Spring의 IoC 컨테이너를 초기화하면 설정된  Bean들이 메모리에 로드된다. 즉, Service나 DAO 같은 Bean들이 IoC 컨테이너에 등록되고, 의존성 주입(DI)이 이루어진다. 이 과정에서 @Component, @Service, @Repository로 정의된 클래스들이 Spring 컨테이너 안에서 객체로 생성된다.

DispatcherServlet과 Controller의 동작 흐름

의존성 주입을 통해 Service와 DAO가 연결되고, 모든 객체가 준비되면 이제 DispatcherServlet이 동작하면서 Client로부터의 HTTP 요청을 받는다. 요청이 들어오면 Spring의 컨트롤러(@Controller)가 동작해 필요한 서비스를 주입받아 비즈니스 로직을 처리하게 된다.

이때 서비스 객체는 이미 IoC 컨테이너에 등록돼 있어서 컨트롤러가 @Autowired 등을 통해 이를 주입받아 사용한다.

리스너와 IoC 컨테이너의 역할

Tomcat 서버가 기동하면서 리스너가 Spring 컨테이너를 초기화하고, 그 컨테이너에서 관리하는 서비스들이 이후에 컨트롤러에 의해 사용된다는 흐름을 이해하면 Spring의 구조를 더 쉽게 파악할 수 있다.

'Spring' 카테고리의 다른 글

[Spring] AOP 관점지향 프로그래밍  (1) 2024.10.15
[Spring] Ajax를 이용한 비동기 처리와 아이디 중복검사 구현  (0) 2024.10.14
[Spring] 2-Layered 아키텍처 정리  (0) 2024.10.10
[Spring] 스테레오타입 어노테이션과 @RequestMapping  (0) 2024.10.09
[Spring] ViewResolver  (1) 2024.10.09
  1. Tomcat 서버와 리스너 개요
  2. Listener와 Spring IoC 컨테이너 초기화
  3. Spring 컨테이너의 Bean 등록 및 의존성 주입
  4. DispatcherServlet과 Controller의 동작 흐름
  5. 리스너와 IoC 컨테이너의 역할
'Spring' 카테고리의 다른 글
  • [Spring] AOP 관점지향 프로그래밍
  • [Spring] Ajax를 이용한 비동기 처리와 아이디 중복검사 구현
  • [Spring] 2-Layered 아키텍처 정리
  • [Spring] 스테레오타입 어노테이션과 @RequestMapping
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    생성자
    DispatcherServlet
    정보처리기사
    오블완
    오버로딩
    recoverabledataaccessexception
    스프링 프레임워크
    2-layered 아키텍처
    MVC
    멘토씨리즈 자바
    이벤트 스케줄러
    티스토리챌린지
    ViewResolver
    html
    수제비
    Di
    어노테이션
    정보처리기사 실기
    @Component
    @repository
    객체지향
    codeup 4891 : 행복
    @service
    상속
    Spring
    jsp
    aop
    정처기 실기
    정처기
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
[Spring] Tomcat Server 기동 시 Listener와 Spring IoC Container의 초기화 과정

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.