✔ 프로젝트 환경설정

프로젝트 환경설정 순서

  1. 프로젝트 구조 분석
  2. 메이븐과 라이브러리 설정
  3. 스프링 프레임워크 설정

1. 프로젝트 구조

11.MakeWebApplication  (프로젝트 루트)
├─src                  (소스 폴더)
│  ├─main              (실행 코드)
│  │  ├─java           (자바 소스 코드)
│  │  ├─resources      (리소스)
│  │  └─webapp         (웹 폴더)
│  └─test              (테스트 코드)
├─target               (빌드 결과)
└─pom.xml              (메이븐 설정 파일)

2. 메이븐과 사용 라이브러리 관리

pom.xml에 프로젝트 정보 및 라이브러리 설정

3. 스프링 프레임워크 설정

11.MakeWebApplication
├─src
│  ├─main
│  │  ├─java
│  │  │  └─org
│  │  │      └─tmkim
│  │  │          └─jpashop
│  │  │              ├─domain      (도메인 계층)
│  │  │              ├─repository  (데이터 저장 계층)
│  │  │              ├─service     (서비스 계층)
│  │  │              └─web         (웹 계층)
│  │  └─resources
│  │      ├─appConfig.xml     3. 스프링 애플리케이션 관련 설정
│  │      └─webAppConfig.xml  2. 스프링 웹 관련 설정
│  └─test
│      └─java
└─WEB-INF
    └─web.xml                 1. 웹 애플리케이션 환경설정 파일
  1. web.xml : 웹 애플리케이션 환경설정 파일
  2. webAppConfig.xml : 스프링 웹 관련 환경설정 파일
  3. appConfig.xml : 스프링 애플리케이션 관련 설정
<!--web.xml 일부--><context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:appConfig.xml</param-value> ...1</context-param><servlet>    <servlet-name>dispatcher</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:webAppConfig.xml</param-value> ...2    </init-param>    <load-on-startup>1</load-on-startup></servlet>
  1. webAppConfig.xml : 스프링 MVC 설정을 포함해서 웹 계층을 담당
  2. appConfig.xml : 비즈니스 로직, 도메인 계층, 서비스 계층, 데이터 저장 계층을 담당
<!--webAppConfig.xml 일부--><mvc:annotation-driven/><context:component-scan base-package="org.tmkim.jpashop.web"/><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>    <property name="prefix" value="/WEB-INF/jsp/" />    <property name="suffix" value=".jsp" /></bean>