Spring-MVC 읽기 #2. 빌드

2020. 9. 4. 16:30 Spring Framework/Spring boot

Spring-MVC는 Spring Framework의 feature 중 하나다. 때문에 코드를 보기 위해서는 Sprig Framework github 코드를 clone 해야 한다.

clone & build

github repository clone

참고 : Build from Source

$ git clone https://github.com/spring-projects/spring-framework.git

build

$ cd spring-framework
$ ./gradlew build

프로젝트 크기가 커서 빌드가 오래 걸린다.

test spring-webmvc module

$ ./gradlew -a :spring-webmvc:test

코드를 clone 받아 빌드 후 spring-webmvc 모듈을 test 한다. 위 과정이 문제없다면, 이제 코드를 살펴볼 준비가 된 것이다.

import into intellij

참고 : import-into-idea

pre compile

$ ./gradlew :spring-oxm:compileTestJava

intellij에 import 전에 spring-oxm module을 먼저 컴파일한다.

import

File > New > Project from Existing Sources > spring-framework/build.gradle 선택


spring-framework/build.gradle 선택


Use auto-import 체크 후 OK


spring-framework에 포함된 여러 module이 보인다. 그중 spring-webmvc가 바로 Spring-MVC module이다.

spring-web, spring-webmvc

우리가 이제부터 살펴봐야 할 코드는 spring-mvc와 spring-webmvc다. spring-webmvc/build.gradle 에 dependencies를 보면 여러 module에 의존한다. 

spring-webmvc는 spring-web module을 기반으로 spring으로 web 개발에 필요한 여러 가지 기능을 제공한다. 대표적으로 우리가 사용해봤거나, 알고 있는 또는 앞으로 알아갈 ViewResolver, ThemeResolver, ResourceResolver, LocaleResolver, HandlerMapping, HandlerAdapter 등이 spring-webmvc에 해당된다. 


그리고 spring-webmvc의 핵심이라고 볼 수 있는 FrontController 역할을 하는 DispatcherServlet이 있다.

출처 : https://blog.woniper.net/365?category=699184