[SW 코칭 - WEB MVC] 2주차

hyelim·2023년 8월 21일
0

SW 코칭 회고

목록 보기
2/5
post-thumbnail

아직 작성중인 글입니다 :) 불완전한 내용이 포함되어 있을 수 있습니다 ✔️

스프링 웹 MVC 빈 설정자 인터페이스 알아보기

WebMvcConfigurer

  • 스프링의 MVC 설정자 인터페이스
  • 스프링의 MVC 설정정보를 바꿀 수 있다
  • 코드레벨에서 애플리케이션의 설정정보를 바꿀 수도 있다

정적 자원 서빙 설정 전략 이해하기

스프링 리소스로더 인터페이스 이해하기

스프링 웹 MVC 요청 및 응답 흐름

프론트 컨트롤러인 DispatcherServlet을 중심으로 동작하며, MVC 와 협력해 동작한다

디스패쳐 서블릿은 스프링 MVC에서 제공하는 자바 서블릿으로 모든 요청에 대해 연결된 컨트롤러에게 요청 위임, 뷰 선택 및 출력 결과 등을 처리해 응답한다. 또한 모델과 뷰로 응답 컨텐츠를 응답한다
즉, Dispatcher Servlet은 해당 어플리케이션으로 들어오는 모든 요청을 핸들링 해주기 때문에, 컨트롤러를 구현해두기만 하면 Dispatcher Servlet가 알아서 적합한 컨트롤러로 위임을 해주는 구조이다

정리하자면 내장 톰캣 서버에서 요청을 받아 스프링 컨테이너로 전달하고

URL 과 매칭되는 컨트롤러를 찾는다. 관련 컨트롤러가 없으면 정적 컨텐츠를 찾아 반환하며, 관련 컨트롤러가 있을 경우 뷰리졸버가 해당하는 뷰를 반환한다.

✔️ @ResponseBody를 사용하면 뷰리졸버(viewResolver)를 사용하지 않는다
이 경우 viewResolver 대신에 HttpMeesageConverter 를 사용해 데이터를 처리한다

설정정보

@ConfigurationPropertiesScan을 이용한 설정 프로퍼티 클래스(@Configuration Properties)의 빈 등록

profile
기록용

0개의 댓글