ChatGPT 와 대화..

Woozy9ucci·2023년 12월 20일
0

ContextLoaderListener와 DispatcherServlet은 서로 다른 역할을 수행하는 Spring의 구성 요소입니다. ContextLoaderListener는 웹 애플리케이션이 시작될 때 루트 ApplicationContext를 초기화하고 구성하는 역할을 담당하며, DispatcherServlet은 웹 요청을 처리하기 위한 웹 계층의 ApplicationContext를 관리합니다.

기본적으로 ContextLoaderListener는 웹 애플리케이션의 시작 시에 호출되고, 그 때 루트 ApplicationContext를 초기화합니다. 반면에 DispatcherServlet은 클라이언트의 요청이 들어올 때마다 호출되어, 웹 계층의 ApplicationContext를 사용하여 해당 요청을 처리합니다.

ContextLoaderListener와 DispatcherServlet은 각각의 ApplicationContext를 관리하며, 보통 루트 ApplicationContext는 비웹(Non-web) 빈들을, 웹 계층의 ApplicationContext는 웹 관련 빈들을 관리합니다. 이 둘 간에는 부모-자식 관계를 형성할 수 있습니다.


ContextLoaderListener와 DispatcherServlet 각각이 자체적으로 ApplicationContext를 생성하고 빈을 관리합니다.

  • ContextLoaderListener:

    • 루트 ApplicationContext를 생성하고 관리합니다.
    • 보통 비웹(Non-web) 관련 빈들을 담당합니다.
    • 전역적인 서비스, 데이터베이스 연결, 비즈니스 로직 등 애플리케이션 전반에 걸쳐 사용되는 빈들을 관리합니다.
  • DispatcherServlet:

    • 웹 계층의 ApplicationContext를 생성하고 관리합니다.
    • 주로 웹 컨트롤러, 뷰 리졸버, 핸들러 매핑 등과 같이 웹 관련 빈들을 담당합니다.
    • 웹 요청에 따라 생성된 ApplicationContext는 주로 웹 계층에서 사용되는 빈들을 담고 있습니다.

ContextLoaderListener가 생성한 루트 ApplicationContext는 보다 글로벌하게 사용되는 빈을 관리하며, DispatcherServlet가 생성한 ApplicationContext는 웹 요청에 따라 동적으로 생성되어 웹 계층에서 사용되는 빈을 관리합니다. 두 ApplicationContext는 부모-자식 관계를 형성하여 공통 빈을 공유할 수 있습니다.

0개의 댓글

관련 채용 정보