11.MakeWebApplication (프로젝트 루트)
├─src (소스 폴더)
│ ├─main (실행 코드)
│ │ ├─java (자바 소스 코드)
│ │ ├─resources (리소스)
│ │ └─webapp (웹 폴더)
│ └─test (테스트 코드)
├─target (빌드 결과)
└─pom.xml (메이븐 설정 파일)
pom.xml에 프로젝트 정보 및 라이브러리 설정
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. 웹 애플리케이션 환경설정 파일
<!--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>
<!--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>
<mvc:annotation-driven/> : 스프링 MVC 기능 활성화<context:component-scan/> : basePackages를 포함한 하위 패키지를 검색해서 @Component, @Service, @Repository, @Controller 어노테이션이 붙어 있는 클래스들을 스프링 빈으로 자동 등록한다.
여기서는 웹과 관련된 org.tmkim.jpashop.web 패키지르 검색해서 스프링 빈으로 등록한다. 이 패키지에 컨트롤러가 있다.