[spring] Spring MVC 프로젝트 초기 설정 가이드

KWAK-JINHO·2024년 11월 29일

Spring

목록 보기
1/4
post-thumbnail

개요

빌드도구: Maven
Spring MVC기반 웹 애플리케이션 초기 설정

프로젝트 생성

maven-archetype-webapp으로 파일 생성.

톰켓 연결

Build Artifacts를 선택 (프로젝트를 실행 가능한 배포 형태로 묶는 작업).

후에 Deployment에서

artifact를 추가해준다.

프로젝트의 빌드 과정에서 생성된 Exploded 형태의 폴더 또는 WAR 파일을 Tomcat에 배포할 수 있게 해주는 작업
(나중에 파일의 위치를 바꾸게 되면 artifact를 다시 생성해 rebuild 해주는 작업이 필요하다.)

Application Context는 웹 애플리케이션이 URL 경로에서 접근 가능한 기본 경로를 설정하는 항목.

/로 설정하면, 애플리케이션은 http://localhost:8080/에서 접근 가능 하다는 뜻.

Before Launch는 Tomcat 서버를 실행하기 전에 수행해야 할 작업들을 정의하는 섹션.

pom.xml

Maven의 프로젝트 설정파일(빌드 및 의존성을 담당하는 파일).

spring-webmvc dependency 추가

  • HTTP 기능 제공 및 MVC 기능 추가 제공.

web.xml

spring 애플리케이션의 전역 설정(Bean, DB, 서비스 등)을 정의한 root-context.xml의 경로를 지정한다.

DispatcherServlet

<servlet>
Spring MVC에서 핵심 역할을 하는 DispatcherServlet을 설정.
모든 HTTP 요청을 받아서 컨트롤러로 전달하고, 처리 결과를 뷰로 반환.

Spring MVC에서는 항상 servlet-class로 org.springframework.web.servlet.DispatcherServlet 사용.

contextConfigLocation
Spring MVC 전용 설정 파일 경로 지정.
여기서는 /WEB-INF/spring/appServlet/servlet-context.xml에 설정 파일이 있다고 가정.

root-context

  • Application 전역에서 공유 되는 Bean을 정의.
  • DB 연결, 서비스 , 공통 유틸리티 Bean 등 웹 요청과 무관한 로직을 정의.

servlet-context

  • 웹 요청 처리에 필요한 Bean을 정의.

DispatcherServlet 관련 요청/응답 처리 Bean. DispatcherServlet에 의해서 로드된다.

Bean이란?
Spring에서 XML 설정 파일의 bean 태그는 객체의 생성과 생명주기를 관리하는 데 사용되는 객체, Dependency Injection와 같은 Spring의 주요 기능을 통해 객체를 관리.

InternalResourceViewResolver

  • 컨트롤러에서 반환한 뷰 이름을 JSP 파일 경로로 변환해주는 역할.
  • prefix와 suffix:뷰 이름에 접두사와 접미사를 붙여 JSP 경로를 완성.
    예: return "home"; → /WEB-INF/views/home.jsp

component-scan

  • 지정된 패키지와 그 하위 패키지에서 @Controller, @Service, @Repository 등을 찾아 Spring 컨텍스트에 빈으로 정의.
profile
매일 더 나은 내가 되자

0개의 댓글