스프링 웹 MVC

스프링 웹 MVC

(75개의 수강평)

1392명의 수강생
SpringJavaMVC
월36,666원
110,000원
3개월 할부시
지식공유자 · 백기선
60회 수업· 총 11시간 수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 중급이상

이 강의는

이 강좌는 자바 서블릿(Servlet) 기반의 MVC 프레임워크인 스프링 웹 MVC(이하 스프링 MVC)에 대해 학습합니다.

스프링 웹 MVC

이 강좌는 자바 서블릿(Servlet) 기반의 MVC 프레임워크인 스프링 웹 MVC(이하 스프링 MVC)에 대해 학습합니다. 자바 엔터프라이즈 에디션(Jave EE)은 웹 애플리케이션을 개발할 수 있는 HTTP Servlet(이하 서블릿)이라는 스팩과 API를 제공합니다. 스프링 MVC는 서블릿 API 기반 애플리케이션을 개발할 때 보다 쉽고 빠르게 개발할 수 있는 프레임워크를 제공하여 개발자가 서블릿 API 보다는 애플리케이션 로직에 집중할 수 있도록 도와줍니다. 현재 많은 회사에서 스프링 MVC 기반으로 엔터프라이즈 애플리케이션을 개발하고 배포하며 운영하고 있습니다.

이 강좌는 스프링 MVC 동작 원리와 설정 방법 그리고 애노테이션 기반 MVC 활용 방법에 대해 다루고 있으며 다음과 같은 특징이 있습니다

1. 아쉽지만 Webflux는 다루지 않습니다. 스프링 프레임워크 5 버전부터 리액티브 스택 기반으로 웹 애플리케이션을 개발할 때 사용할 수 있는 스프링 Webflux를 제공하지만 이번 강좌에서 다루는 기술 스택과 차이가 크기 때문에 이번 강좌에서 다루지 않습니다.
2. 서블릿에 대해 학습합니다.이번 강좌에서는 스프링 MVC 동작 원리를 이해하는데 필요한 서블릿 기능에 대해 학습합니다. 따라서 서블릿 기반 웹 애플리케이션 개발이 처음이거나 스프링 MVC 동작 원리가 궁금했던 학생 또는 개발자에게 유용할 것입니다.
3. 타임리프를 주로 사용합니다. 스프링 MVC 기능 학습에 필요한 뷰를 만들 때 타임리프(Thymeleaf)를 사용합니다. 하지만 타임리프와 JSP(Java Server Pages) 또는 기타 다른 뷰 템플릿 엔진에 대해서 자세히 학습하지는 않습니다. 이번 강좌는 스프링 MVC에 집중하겠습니다.
4. 스프링 부트. 이번 강좌도 스프링 부트를 사용하여 예제 프로젝트를 만들고 코딩하지만, 스프링 부트 없이 설정하는 방법도 학습합니다. 그러면 스프링 부트가 제공하는 자동 설정을 보다 잘 이해할 수 있을 뿐 아니라 스프링 MVC 설정을 원하는 대로 고쳐 사용할 수 있을 것입니다.
5. 테스트 친화적 개발. 뷰를 만들고 요청을 보내는 방법으로 스프링 MVC 기능을 확인하고 학습할 수도 있지만 테스트 코드를 작성하여 확인하는 방법을 익히는 것 또한 효율적이며 중요합니다. 따라서 이번 강좌에서는 모든 스프링 MVC 기능을 코드로 테스트 하는 방법도 소개합니다.

원활한 학습을 위해 이번 강좌를 수강하기 전에 다음 강좌 수강을 고려해 주시기 바랍니다.

예제 코드 저장소
- 1부 스프링 MVC 핵심 원리: https://github.com/keesun/javaservletdemo
- 2부 스프링 MVC 설정: https://github.com/keesun/demo-boot-web
- 3부 스프링 MVC 활용: https://github.com/keesun/demo-web-mvc

학습 목표

  • 애노테이션 기반 스프링 MVC의 동작 원리를 이해합니다.
  • 스프링 MVC가 제공하는 다양한 기능을 이해합니다.
  • 사용하는 스프링 MVC 기능에 대한 테스트 코드를 작성할 수 있습니다.
  • 스프링 부트 없이도 스프링 MVC 애플리케이션을 개발할 수 있습니다.
  • 스프링 부트가 제공하는 스프링 MVC 설정을 고쳐 사용할 수 있습니다.


도움이 되는 분들

  • 스프링 웹 MVC 동작 원리를 이해하고 싶은 개발자 또는 학생
  • 스프링 웹 MVC 설정 방법에 대해 알고 싶은 개발자 또는 학생
  • 스프링 웹 MVC 다양한 기능을 학습하고 싶은 개발자 또는 학생

 참고해주세요

지식공유자 소개

현재 미국 마이크로소프트에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

유튜브 '백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식을 공유하고 있습니다.

주로 자바와 스프링을 사용해서 웹 애플리케이션을 개발하는 것을 좋아하지만 딱히 기술을 가리지는 않습니다.

교육과정

모두 펼치기 60 강의 11시간
섹션 1. 스프링 MVC 동작 원리
11 강의 164 : 53
스프링 MVC 소개
20 : 53
서블릿 소개
04 : 45
서블릿 애플리케이션 개발
17 : 24
서블릿 리스너와 필터
11 : 27
스프링 IoC 컨테이너 연동
14 : 34
스프링 MVC 연동
15 : 20
DispatcherServlet 1부
13 : 49
DispatcherServlet 2부
16 : 50
DispatcherServlet 3부
11 : 04
스프링 MVC 구성 요소
23 : 13
스프링 MVC 동작 원리 마무리
15 : 34
섹션 2. 스프링 MVC 설정
16 강의 178 : 58
스프링 MVC 빈 설정
10 : 36
@EnableWebMvc
18 : 43
WebMvcConfigurer
10 : 07
스프링 부트의 스프링 MVC 설정
26 : 04
스프링 부트 JSP
14 : 02
WAR 파일 배포하기
05 : 14
WebMvcConfigurer 1부 Formatter
13 : 25
도메인 클래스 컨버터
08 : 45
핸들러 인터셉터
09 : 48
핸들러 인터셉터 구현
04 : 47
리소스 핸들러
13 : 40
HTTP 메시지 컨버터
09 : 37
HTTP 메시지 컨버터 2부 JSON
10 : 15
HTTP 메시지 컨버터 XML
11 : 10
기타 WebMvcConfigurer 설정
06 : 09
스프링 MVC 설정 마무리
06 : 36
섹션 3. 스프링 MVC 활용
30 강의 307 : 51
스프링 MVC 활용 소개
04 : 59
요청 맵핑하기 1부 HTTP Method
14 : 20
요청 맵핑하기 2부 URI 패턴
18 : 36
요청 맵핑하기 3부 미디어 타입
15 : 25
요청 맵핑하기 4부 헤더와 매개변수
08 : 34
요청 맵핑하기 5부 HEAD와 OPTIONS
09 : 12
요청 맵핑하기 6부 커스텀 애노테이션
08 : 57
요청 맵핑하기 7부 연습 문제
13 : 51
핸들러 메소드 1부 아규먼트와 리턴 타입
17 : 59
핸들러 메소드 2부 URI 패턴
13 : 21
핸들러 메소드 3부 요청 매개변수 (단순 타입)
07 : 42
핸들러 메소드 4부 폼 서브밋
15 : 58
핸들러 메소드 5부 @ModelAttribute
10 : 15
핸들러 메소드 6부 @Validated
03 : 18
핸들러 메소드 7부 폼 서브밋 에러 처리
13 : 52
핸들러 메소드 8부 @SessionAttributes
06 : 38
핸들러 메소드 9부 멀티 폼 서브밋
06 : 46
핸들러 메소드 10부 @SessionAttribute
05 : 13
핸들러 메소드 11부 RedirectAttributes
09 : 59
핸들러 메소드 12부 Flash Attributes
07 : 43
핸들러 메소드 13부 MultipartFile
13 : 44
핸들러 메소드 14부 ResponseEntity
09 : 26
핸들러 메소드 15부 @RequestBody & HttpEntity
18 : 16
핸들러 메소드 16부 @ResponseBody & ResponseEntity
09 : 34
핸들러 메소드 17부 정리 및 과제
04 : 46
모델 @ModelAttribute
09 : 48
데이터 바인더 @InitBinder
14 : 39
예외 처리 핸들러 @ExceptionHandler
07 : 49
전역 컨트롤러 @ControllerAdvice
05 : 13
스프링 MVC 강좌 마무리
01 : 58

공개 일자

2019년 1월 29일 (마지막 업데이트 일자 : 2019년 1월 29일)

수강 후기

4.9
75개의 수강평
default_profile.png
이규형 2019.02.14
쉽게 설명해주셔서 감사합니다. mvc가 뭐지, 테스트코드는 또 어떻게 작성해야 하는거지, 등등 시작도 하기 전에 갖고 있었던 고민들이 강의를 들으면서 이해가 되고, 스프링이 재밌다라는 느낌을 받게 되었습니다. 이해가 될 때까지 반복해서 듣고, 테스트 코드 작성 하는 법도 계속 학습하면서, 제 것이 되도록 노력하겠습니다. 좋은 강의 만들어주셔서 감사합니다.
default_profile.png
Charlie T 4달 전
백기선님 강의 들으려고 노력했습니다만 포기해야겠습니다. 강의마다 인텔리제이로 단축키 휙휙 넘겨가면서 하시니 도저히 따라갈 수가 없었고, (적어도 어떤 단축키를 사용하는지정도는 설명해주셨으면...) 딘축키, IDE 기능을 이용해서 디버깅만 하며 설명을 하시니 STS나 이클립스로 스프링을 접해본 분이라면, (그리고 윈도우 유저라면) 특히 진행이 힘들 강의라 생각됐습니다. 사실, 인텔리제이는 굉장히 좋은 IDE가 맞습니다. (비싸서 못쓸뿐..) 그러나 스프링 공부하려고 왔는데 IDE 사용법을 따라가지 못해 진행을 못한다는 것은 말이 안된다고 생각합니다.. 인텔리제이를 원활히 쓸 수 있는 사람에게도 어려운 강의입니다. 개인적인 생각으로는 JPA, h2, 타임리프, RestController 등 다른 여러 기술에 이미 친숙한 스프링 중고급자정도는 되어야.. 쓰다보니 IDE에 대한 불만이 대부분이네요. 하지만 단순히 그랬다면 4점정도는 드렸을 겁니다. 하지만 근본적으로 강의 내내 설명이 친절하지 않았습니다. (예를들어 DispatcherServlet의 기본 전략 : DispatcherServlet.properties 라는 식으로 설명을 하면 알아듣는게 힘듭니다..) 저는 스프링을 꽤 오래 쓴 유저지만 좋은 강의인지에 대한 생각은 솔직히 조심스럽습니다.
default_profile.png
김종현 5달 전
사실은 결코 쉽지 않은 강의였습니다. 수강 하려고 시도 하시는 분은 조금 신중하게 선텍하시길 바랍니다. 그래도 강의가 굉장히 깊습니다. 테스트코드 작성위주로 설명하고 레퍼런스 보는 방법, 프레임웍 자체를 까서 보여주는 방식 등 깊게 이해가 필요하다만 추천합니다. 특히 한번씩 쌤 본인이 실수했을 때 나오는 민망한 웃음이 매력포인트 입니다. ㅋㅋㅋㅋㅋ
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스