개발강의정리/Spring

[스프링 부트 개념과 활용] 4-9. 스프링 웹 MVC 1부: 소개

nineDeveloper 2019. 11. 5.
728x90

스프링 부트 개념과 활용

4. 스프링 부트 활용

포스팅 참조 정보

GitHub

공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다

해당 포스팅에 대한 내용의 GitHub 주소

실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다

https://github.com/freespringlecture/springboot-concept-uses/tree/chap04-09-01-mvc-intro

 

freespringlecture/springboot-concept-uses

백기선님의 스프링 부트 개념과 활용 강의 내용 정리. Contribute to freespringlecture/springboot-concept-uses development by creating an account on GitHub.

github.com

해당 포스팅 참고 인프런 강의

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

 

스프링 부트 개념과 활용 - 인프런

스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급 프레임워크 및 라이브러리 Spring Spring Boot 온라인 강의

www.inflearn.com

실습 환경

  • Java Version: Java 11
  • SpringBoot Version: 2.1.2.RELEASE

9. 스프링 웹 MVC 1부: 소개

스프링 웹 MVC

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#spring-web

 

Web on Servlet Stack

Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more commonl

docs.spring.io

스프링 부트 MVC

아무런 설정 파일을 작성하지 않아도 스프링 부트가 제공해주는 기본 설정 때문에 스프링 웹 MVC 개발을 시작할 수 있다
SpringBoot AutoConfiguration 플러그인 안에 WebMvcAutoConfiguration 가 자동설정을 제공

hiddenHttpMethodFilter

Spring5 에서 제공해주는 Filter Spring3.0 부터 제공해오던 필터
PUT, DELETE, PATCH 요청시 _method 라는 Hidden Form 파라메터로 어떤 메서드인지 값을 받아올 수 있음
그 값을 받아와서 Controller에 Mapping을 해줌 @DeleteMapping 등의 handler 만들 수 있음

HttpPutFormContentFilter

HTTP POST 나 Form 데이터를 보낼 수 있게 Servlet Spec에 정의가 되어있음
HTTP PUT 이나 PATCH 도 application/x-wwww-form-urlencoded 타입으로 Form 데이터를 보내오면
HTTP POST 요청에서 꺼내올 수 있는 것처럼 HTTP PUT 이나 PATCH 에서도 꺼내올 수 있도록 Mapping 해주는 역할

스프링 부트 MVC 확장

스프링 부트 MVC가 제공해주는 기능을 다 사용하면서 추가적으로 더 설정을 할때 아래와 같이 설정하고
추가적으로 필요한 Callback Method를 호출하여 정의하여 사용

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
}

스프링 MVC 재정의

아래와 같이 @EnableWebMvc 를 같이 사용하면 모든 스프링 MVC 설정이 다 사라지고 재정의 해야됨

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
}
728x90

댓글

💲 추천 글