본문 바로가기
Spring/spring mvc

스프링 MVC 시작하기

by 킹차니 2021. 6. 27.
김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다.
https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C

 

 

 

스프링 MVC 시작하기

스프링이 제공하는 컨트롤러는 애노테이션 기반으로 동작해서, 매우 유연하고 실용적입니다. 과거에는 자바 언어에 애노테이션이 없기도 했고, 스프링도 처음부터 이런 유연한 컨트롤러를 제공한 것은 아닙니다.

 

 

@RequestMapping

스프링은 애노테이션을 활용한 매우 유연하고, 실용적인 컨트롤러를 만들었는데 이것이 바로 @RequestMapping 애노테이션을 사용하는 컨트롤러입니다

 

 

@RequestMapping

RequestMappingHandlerMapping  (핸들러 매핑)

RequestMappingHandlerAdapter    ( 핸들러 어댑터)

 

앞서 보았듯이 가장 우선순위가 높은 핸들러 매핑과 핸들러 어댑터는 RequestMappingHandlerMapping ,RequestMappingHandlerAdapter 입니.
@RequestMapping 의 앞글자를 따서 만든 이름인데, 이것이 바로 지금 스프링에서 주로 사용하는 애노테이션 기반의 컨트롤러를 지원하는 핸들러 매핑과 어댑터입니다

 

 

SpringMemberFormControllerV1

@Controller :
스프링이 자동으로 스프링 빈으로 등록합니다. (내부에 @Component 애노테이션이 있어서 컴포넌트 스캔의 대상이 됨)
스프링 MVC에서 애노테이션 기반 컨트롤러로 인식합니다.

 

@RequestMapping :

요청 정보를 매핑한다. 해당 URL이 호출되면 이 메서드가 호출된다. 애노테이션을 기반으로 동작하기 때문에, 메서드의 이름은 임의로 지으면 됩니다.

 

ModelAndView : 모델과 뷰 정보를 담아서 반환하면 됩니다.

 

RequestMappingHandlerMapping 은 스프링 빈 중에서 @RequestMapping 또는 @Controller 가 클래스 레벨에 붙어 있는 경우에 매핑 정보로 인식합니다.
따라서 다음 코드도 동일하게 동작합니다.

 

SpringMemberSaveControllerV1

 

mv.addObject("member", member) :
스프링이 제공하는 ModelAndView 를 통해 Model 데이터를 추가할 때는 addObject() 를 사용하면 된다. 이 데이터는 이후 뷰를 렌더링 할 때 사용된다.

 

 

SpringMemberListConvtrollerV1

 

 


이제 위의 컨트롤러들을 하나의 클래스로 통합해보겠습니다.

url에 대한 매핑을 @RequestMapping으로 하기 때문에 하나의 클래스에 모두 담을 수 있습니다.

'Spring > spring mvc' 카테고리의 다른 글

23 로깅  (0) 2021.06.27
스프링 MVC실용적 방식 (modelview를 스프링에게 맡기기)  (0) 2021.06.27
뷰리졸버(ViewResolver)  (0) 2021.06.27
핸들러 매핑과 핸들러 어댑터  (0) 2021.06.27
스프링MVC 전체 구조  (0) 2021.06.27