Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

# STS

STS란 Spring Tool Suite로써 이클립스 기반 스프링 애플리케이션을 위한 개발 환경입니다. 스프링 프레임워크로 웹 개발을 하기 위해 이클립스에서 STS 플러그인을 설치하겠습니다.

# 설치

이클립스에서 Help → Eclipse Marketplace 을 클릭하고 Find에서 STS를 검색해서 설치를 시작합니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

Confirm을 클릭하고 라이센스에 동의 후 Finish를 누르면 설치가 진행됩니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum
Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

설치 진행 중에 보안경고창이 뜨면 Install anyway를 선택해서 설치를 마무리 합니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

이클립스를 재시작해서 정상적으로 설치가 되었는지 확인합니다.

Open Perspective에 Spring이 있는걸 확인하거나 Window → Preferences 에서 Spring 메뉴가 있는지 확인합니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum
Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

# Legacy Project 생성

STS설치 완료 후 프로젝트를 생성하겠습니다.

이클립스에서 New → Spring Legacy Project를 선택합니다. 만약 안보이면 Other... 를 선택해서 Spring Legecy Project를 선택하면 됩니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

Project name을 작성하고 Templates에서 Spring MVC Project를 선택합니다. (여기서 MVC란 Mode, View page, Controller를 뜻합니다.)

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

가이드에 맞춰서 최상위 패키지를 정합니다. 패키지는 최소 3레벨 이상으로 합니다.

그리고 통상적으로 도메인 주소를 거꾸로적습니다.

(예를 들어 제 블로그 주소로 최상위 패키지를 정한다면, com.tistory.parkjye 이렇게 적으면 됩니다.)

그리고 마지막으로 전달된 문자열이Context Path가 됩니다. 아래 사진의 예시에 따르면 parkjye가 context path가 됩니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

Finish를 누르면 프로젝트가 생성됩니다. 필요한 라이브러리를 다운받아야하기 때문에 조금 늦게 프로젝트가 생길 수 있습니다. 프로젝트에 에러가 없으면 정상적으로 생성된 것입니다.

만약 중간에 Spring MVC Project requires a download of 16608 bytes. Proceed?와 같은 메시지가 뜨면 MVC 라이브러리를 다운받을 것인지에 대한 질문입니다. Yes를 클릭해서 진행하면 됩니다.

아래 사진은 Project Explorer과 Package Explorer에서 보이는 프로젝트 모습입니다. 더 편한 곳에서 개발을 하면 됩니다.

만약 둘 중에 하나만 보이면 Window → Show View 에서 찾아서 선택하면 됩니다. 

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum
Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

이제 톰캣서버를 추가한 뒤 프로젝트 우클릭 → Run As → Run on Server를 클릭한다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

아래 사진처럼 보이면 정상적으로 실행이 된 것입니다. 주소창에 context path도 정상적으로 보이는 것이 확인 됩니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

# Spring Legacy Project의 기본 구조

Spring Legacy Project를 처음 생성하면 복잡한 구조때문에 각 폴더가 어떤 역할을 하는지 파악하기 어렵습니다.

간단하게 구조를 파악해보겠습니다.

Spring Legacy Project 없음 - Spring Legacy Project eobs-eum

A. Java Resources

  • Java Resources
    • src/main/java → 작성되는 코드의 경로
    • src/main/resources → 실행할 때 참고하는 기본 경로 (주로 설정 파일들을 넣는다)
    • src/test/java → 테스트 코드를 넣는 경로
    • src/test/resources → 테스트 관련 설정 파일 보관 경로

B. werbapp/resources

  • src/main/webapp/resources → images, css, js 등 컨트롤러를 거치지 않을 파일들 보관 경로 (※ Spring Controller를 거치지 않을 파일들은 webapp폴더 안에 보관한다)

C. WEB-INF

  • spring/appServlet/servlet-context.xml → 웹과 관련된 스프링 설정 파일
  • spring/appServlet/root-context.xml → 스프링 설정 파일
  • views → 템플릿 프로젝트의 jsp 파일 경로 (실제 화면에서 보이는 페이지들을 이 곳에 보관. ex. home, login 등)

D. pom.xml

  • Maven이 사용하는 pom.xml

'코드로 배우는 스프링 웹 프로젝트 개정판' 책과 학원 강의를 참고해서 정리한 내용입니다.
수정할 부분이 있으면 댓글로 피드백 주시기 바랍니다. 감사합니다.