Spring MVC

전수·2022년 11월 21일
0

Spring

목록 보기
1/13

Spring


첫 웹 페이지를 오로지 jsp만을 사용하여 만들고서 Spring까지 오기 꽤나 오래 걸렸다.
심지어 Docker에서 컨테이너에 mysql과 apache-tomcat의 수많은 연동 오류와 도저히 이해가 가질 않던 jsp 구조에 대해 겪었던 의문점은 jsp&servlet으로 어느 정도 해소가 되는 듯 했으나, 매번 웹 설정을 하는게 여간 귀찮은 일이었다.
이러한 문제점을 해결하기 위해 만들어진 spring에 대해 이제 진짜 최종적으로 시작해보고자 한다.

Spring MVC


The Spring Web model-view-controller (MVC) framework is designed around a DispatcherServlet that dispatches requests to handlers, with configurable handler mappings, view resolution, locale and theme resolution as well as support for uploading files. The default handler is based on the @Controller and @RequestMapping annotations, offering a wide range of flexible handling methods. With the introduction of Spring 3.0, the @Controller mechanism also allows you to create RESTful Web sites and applications, through the @PathVariable annotation and other features.

https://docs.spring.io/spring-framework/docs/3.2.x/spring-framework-reference/html/mvc.html

간략하게 설명하자면, Spring MVC(Model, View, Controller) 프레임워크는 http request가 오면 dispatcher-servlet이 가로채서 view를 반환하거나 어떠한 service를 수행하는 과정들을 거쳐 다시 사용자에게 전달된다.

더 자세한 구조와 각종 Annotation은 나중에 기술하고 Spring 프레임워크를 사용하기에 앞서 build 도구들에 대해 알아보고자 한다.

Build


Build란 프로젝트의 소스코드 개발에서 최종 사용자에게 전달되기까지의 프로젝트 생명주기(SDLC)를 아우르는 행위로 이러한 빌드를 자동화해 도와주는 도구를 Build Tool이라고 한다.

Gradle


Gradle은 Ant와 Maven을 보완한 Groovy기반의 빌드 도구로 Groovy라는 JVM에서 실행되는 스크립트 언어를 사용하기 때문에 유연하게 빌드 스크립트 작성이 가능하다.
해당 도구는 build,gradle 파일에 dependency나 plug-in 설정과 같은 빌드에 필요한 설정 작성이 가능하다.

Maven


Maven은 XML 기반의 대표적인 JAVA 프로젝트용 빌드 도구로 라이브러리를 자동으로 추가, 관리 및 동기화 하여 프로젝트의 정보를 전달하고 프로젝트 라이프 사이클을 관리한다.
해당 도구는 프로젝트 최상위 디렉토리에 pom.xml파일을 생성하여 <dependenceise>태그의 데이터들로 해당 프로젝트가 의존하는 여러 라이브러리를 설정이 가능하다.


나의 경우에는 Maven으로 Spring 실습을 진행하고 있는데 Spring을 사용하기 위해서는 web.xml, application.xml, dispatcher-servlet.xml 설정이 필요한데 XML언어에 익숙하지 않은 나는 이 파일을 다시 java 파일로 작성하여 @Configuration이라는 Annotation을 통해 재정의할 예정이다.

0개의 댓글

관련 채용 정보