• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

url로 매핑된 컨트롤러를 찾는 것은 알겠는데 메소드는 어떻게 찾는 건가요?

23.11.03 01:33 작성 조회수 316

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
핸들러 매핑을 통해서 url이 들어오면 실행해야 할 컨트롤러를 찾는 것은 이해를 했습니다. 그런데 애노테이션 기반의 컨트롤러를 사용할 때 메소드에도 url이 매핑이 되었던데 이거도 스프링의 어떤 요소가 매핑 정보를 차례대로 조회하며 대응되는 것을 찾고 메소드를 수행해주는 것인가요?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.11.03

안녕하세요. 김세희님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 핸들러 매핑 정보를 저장할 때는 사실 해당 핸들러 단위로 저장한다기 보단 핸들러에 있는 메서드를 기준으로 저장하게 됩니다. @Controller 가 붙은 컨트롤러를 찾고, 그 안에 @RequestMapping 류가 붙은 메서드를 찾아 매핑 정보로 저장하게 되는 것입니다.

그래서 아시는 것처럼 DispatcherServlet에서 요청 정보를 통해 지원하는 핸들러 어댑터를 찾고 핸들러 어댑터에서 핸들러 매핑 정보로부터 적합한 핸들러(컨트롤러) 메서드를 찾아 실행하고, 그 결과를 ModelAndView에 넣어주게 되는 것입니다 :)

감사합니다.