스프링 핸들러매핑, 핸들러 어댑터, 컨트롤러
473
작성한 질문수 10
안녕하세요!
스프링 MVC와 관련하여 궁금한 점이 있습니다.
스스로 만든 프레임워크에서는 다양한 형태의 헨들러를 다루기 위해 핸들러 어댑터 목록과 핸들러 매핑을 도입한 것으로 이해하고 있습니다.
스프링 MVC의 경우 99.9% RequestMappingHandlerMapping 과 RequestMappingHandlerAdapter를 쓴다고 강의자료에 나와 있는데요, 그렇다면 사실상 핸들러(컨트롤러)도 하나의 통일 된 형태를 가지고 있는건가요?
감사합니다.
답변 1
2
안녕하세요. 럭키리님
스프링 MVC는 RequestMappingHandlerMapping과 RequestMappingHandlerAdapter를 주로 사용합니다. 이는 스프링 MVC가 @RequestMapping 어노테이션을 사용하여 정의된 핸들러(컨트롤러 메소드)를 매핑하고 처리하는 표준 방식입니다. 이러한 구조 덕분에 스프링 MVC는 핸들러 메소드의 선언과 사용을 매우 유연하게 할 수 있습니다.
그렇지만, 이것이 핸들러(컨트롤러)가 오직 하나의 통일된 형태만을 가진다는 것을 의미하지는 않습니다. 스프링 MVC는 다양한 종류의 핸들러 매핑과 어댑터를 지원합니다. 예를 들어, SimpleUrlHandlerMapping, BeanNameUrlHandlerMapping 등 다른 매핑 전략도 제공합니다. 또한, 커스텀 핸들러 매핑과 어댑터를 구현하여 사용할 수도 있습니다.
하지만 실제 개발 과정에서는 RequestMappingHandlerMapping과 RequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시키므로, 대부분의 경우 이들을 사용하는 것이 일반적입니다. 이러한 방식은 어노테이션 기반의 컨트롤러를 쉽게 작성하고 관리할 수 있게 해주며, 스프링의 다른 기능들과도 잘 통합됩니다.
요약하자면, 스프링 MVC는 다양한 형태의 핸들러를 지원하지만, 실제 개발에서는 RequestMappingHandlerMapping과 RequestMappingHandlerAdapter를 사용하는 것이 일반적이며, 이를 통해 어노테이션 기반의 컨트롤러를 유연하게 관리할 수 있습니다.
감사합니다.
1
RequestMappingHandlerMapping과 RequestMappingHandlerAdapter가 대부분의 요구 사항을 충족시킨다는 게 정말 신기하군요!! 답변해주셔서 감사합니다!
servlet과 container에 대한 질문입니다
0
24
1
api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?
0
64
1
jsp 의존성 수정 요청
0
78
2
요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?
0
143
1
save() 메서드 문의
0
67
1
절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상
0
101
1
request-body-json
0
83
2
MVC 패턴의 적용 단위
0
97
1
RequestMapping을 이용한 핸들러, 어댑터
0
119
2
save 후 결과화면
0
89
2
jsp를 이용한 view
0
97
1
application.properties에 debug 추가해도 결과가 똑같습니다.
0
178
1
수업 코드 제공 관련 문의
0
97
2
RequestMappingHandlerAdapter의 Controller 호출 과정
0
100
3
파일 오픈 시
0
70
1
스프링 배치 관련
0
77
1
@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부
0
112
1
postman으로 /request-body-json-v1 호출시 500 error
0
95
1
프론트엔드와 백엔드의 mvc, rest api에 대한 질문
0
79
1
모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문
0
111
1
console log 출력 관련 질문입니다.
0
75
1
애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ
0
139
1
html 변경하는 부분 적용 문제
0
103
1
한글 깨짐
0
76
2





