Kim VamPa

[STS][스프링 게시판][0] MVC 프로젝트 생성 및 기본설정 - 1 본문

스프링 프레임워크/게시판 프로젝트

[STS][스프링 게시판][0] MVC 프로젝트 생성 및 기본설정 - 1

Kim VamPa 2021. 2. 15. 18:16
728x90
반응형

기획의도

 '쇼핑몰 프로젝트' 포스팅을 작성하던 중 앞으로 진행할 '관리자 페이지 작가 정보관리', '관리자 페이지 상품 정보 관리', '일반 사용자 상품 정보 검색' 등이 웹 프로젝트를 처음 공부할 때 기본기로써 배우는 '데이터 CRUD(Create, Read, Update, Delete) 기능 구현'의 응용이기 때문에 'CRUD 기능 구현'에 대한 정리가 필요하다고 생각하였습니다. 따라서 '스프링 게시판' 프로젝트를 진행하고자 합니다. 해당 프로젝트에서 검색 기능 구현, 페이징 기능 구현 또한 진행할 것입니다.

 

목표

 게시판 기능 구현에 앞서 이번 포스팅에선 STS설치, MVC 프로젝트 생성, DB 연동, 기본적 라이브러리 추가 등 프로젝트를 원활히 진행하기 위한 기본 설정을 진행하고자 합니다. 본래 [Spring][쇼핑몰 프로젝트][0] 프로젝트 생성 및 환경설정 포스팅에서 기본적인 설정 방법을 정리하였지만 당시에는 사용하던 환경과 일부 달라진 환경(Oracle 버전, Java 버전)이 있어 새롭게 정리하고자 합니다. 기존 포스팅을 현재의 포스팅 맥락은 동일합니다. 단지 현재의 포스팅을 기존 포스팅 보다 설명은 줄이고 프로젝트 설정 진행 위주로 정리하고자 합니다.

 

 이번 프로젝트 또한 Oracle과 MySQL 같이 진행하고자 합니다.

 

 

프로젝트 환경

  • WINDOW10
  • STS4
  • Oracle 19c
  • MySQL 8.0.23
  • Apache Tomcat 8.5
  • JAVA 11

 

 

순서

1.  STS설치 

2.  STS3 tool 설치 (STS3 사용 시 해당 x)

3. 이클립스 인코딩 설정 변경

4. MVC 프로젝트 생성 및 스프링 버전 변경

5. 프로젝트 자바(JDK, 컴파일러) 버전 변경

6. 라이브러리 추가 및 변경

 

 

1. STS 설치

 최근 들어서 STS설치 홈페이지를 들어가 보면 기본적으로 STS4를 설치하도록 권장하고 있습니다. STS3도 제공하고 있기 때문에 둘 중 자신이 원하는 버전을 설치하시면 됩니다.

 

[STS][설치방법] STS4 설치 방법(WINDOWS10)(2021.02기준)

 

[STS] STS3 다운 방법(2021.02기준)

 

그림 1

 

 

2.  STS3 tool 설치 (STS3 사용 시 해당 x)

 STS4를 통해서 'MVC 프로젝트를' 생성하길 원한다면 "STS3 tool"을 설치해야 합니다. 아래의 포스팅을 참고해주세요.

 

[STS4][설정] MVC 프로젝트(Spring Legacy Project) 생성방법[STS3 tool 설치 방법]

 

그림 2

 

 

3. 이클립스 인코딩 설정 변경

 프로젝트를 진행 중 '한글' 데이터가 깨지는 것을 방지하기 위해 이클립스(Eclipse)의 기본 인코딩(encoding) 설정을 UTF-8로 변경해줍니다.

 

이클립스(Eclipse) UTF-8 인코딩 변경[한글깨짐방지]

 

그림 3

 

 

4. MVC 프로젝트 생성 및 스프링 버전 변경

 상단 내비게이션 바에서 [File] -> [New] -> [Other...]을 클릭합니다.

 

 

 검색란에 "spring legacy"를 입력합니다. 결과 창에 [Spring Legacy Project]를 선택 후 [Next >]를 클릭합니다.

 

그림 5

 [Project name] 입력란에 자신이 원하는 프로젝트명을 입력합니다. [Templates] 목록 중 "Spring MVC Project"를 선택 후 [Next >] 클릭합니다.

 

그림 6

 

 해당 창이 뜬다면 [Yes]를 클릭하면 됩니다.

 

그림 7

 

 입력란에 com.'프로젝트명 or 원하는 이름'. controller을 입력한 후 [Finish]를 클릭합니다.

 

그림 8

 

 프로젝트가 생성된 것을 확인할 수 있습니다. 

 

그림 9

 

새로 생성한 프로젝트를 연 후 [pom.xml] 파일을 엽니다.

 

그림 10

 

 springframework-version 태그에 입력된 기존 3.1.1 버전을 자신이 원하는 버전으로 변경 후 저장합니다. 저는 최근 버전인 5.2.8로 변경하였습니다.

 

그림 11 변경 후

 

 [Package Explorer] 창에 있는 [Maven Dependencied] 폴더를 열어서 스프링 버전이 변경되었는지 확인합니다.

 

그림 12

 

 

 

5. 프로젝트 자바(JDK, 컴파일러) 버전 변경

 자신의 프로젝트를 선택 -> 마우스 오른쪽 클릭 -> [properties]를 클릭합니다.

 

그림 13

 

 왼쪽 네비 목록 중 [Project Facets]를 클릭하여 해당 설정 창을 들어 간 후 [Java]의 버전을 자신이 설치한 버전으로 변경합니다.

 

그림 14

 

 왼쪽 네비 목록에서 [Java Compiler]를 선택하여 해당 설정 창을 들어갑니다. [use compilance from execution....] 체크를 해제한 후 자신이 원하는 컴파일러 버전을 선택합니다. 

 

그림 15

 

 모든 설정이 완료되었다면 [Apply and Close]를 클릭하여 설정을 저장 및 적용합니다.

 

그림 16

 

 프로젝트의 [pom.xml] 파일을 띄운 후 <java-version> 태그의 버전을 자신이 설치한 JAVA 버전으로 변경합니다.

 

그림 17

 

 [maven-compiler-plugin]의 <version> 태그의 버전을 최신 버전으로 변경합니다.  아래에 있는 <source>, <target> 태그의 버전을 자신이 설치한 JAVA 버전으로 변경합니다.

 

그림 18

 

 수정이 완료되었다면 [pom.xml] 파일의 수정사항을 저장합니다. [Package Explorer] 창의 [JRE System Library] 폴더를 통해 프로젝트의 JAVA 버전이 변경되었음을 확인합니다.

 

그림 19

 

5.1 오류가 뜨는 경우

 

 자바 관련 설정을 마치고 Maven 업데이트를 하였음에도 

 

"Description Resource Path Location TypeBuild path specifies execution environment JavaSE-11. There are no JREs installed in the workspace that are strictly compatible with this environment. Gugucoding Build path JRE System Library Problem"

 

혹은

 

"The compiler compliance specified is 11 but a JRE 15 is used"

 

 

 분명 자신이 설치한 JAVA버전에 맞는 버전으로 수정하였음에도 이러한 경고(Warnings)가 뜨는 이유는 자신의 컴퓨터에 설치한 JDK의 JRE와 이클립스(Eclipse)에 설정된 JRE와 다르기 때문에 이러한 현상이 일어납니다.

 

 이럴 경우 이클립스의 JRE를 실재 설치한 JRE와 일치시켜주어야 합니다. 재설정 방법은 아래의 포스팅을 참고해주세요.

 

[Eclipse] 이클립스 JRE 재설정 방법

 

 

6. 라이브러리 추가 및 변경

 Lombok 라이브러리 설치를 원할 경우 아래의 포스팅을 참고해주세요.

 

[Spring]Lombok 개념 및 설치방법

 

 

 "sprint-test", "log4j" 라이브러리를 추가 할 것이고, "Junit" 라이브러리 버전을 변경 할 것입니다. 각 라이브러리의 역할은 다음과 같습니다.

  • log4j : 로그문의 출력을 다양한 대상으로 할 수 있도록 도와주는 도구입니다.
  • spring-test : @RunWith/@ContextConfiguration 등의 어노테이션을 활용하여 Spring Framework에서 조금 더 편하게 테스트를 지원할 수 있게 해 줍니다.
  • Junit : Java에서 독립된 단위 테스트를 지원해주는 프레임워크입니다.

 

 

 [pom.xml]에 있는 log4j 라이브러리 코드를 제거 혹은 주석 처리합니다.

 

그림 20

 

 "log4j", "spring-test" 라이브러리 코드를 추가합니다. (원하는 버전을 추가합니다.)

 

 - "sprint- test" 경우 spring 버전과 동일하게 하기 위해 ${org.springframework-version}을 입력하였습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<!-- log4j 추가 -->
 <!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
 
 
<!-- spring-test 추가 -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework-version}</version>
    <scope>test</scope>
</dependency>
 

 

그림 21

 

 "Junit"라이브러리 경우 기존 '4.7'버전에서 '4.12'버전으로 변경합니다.

 

그림 22 변경 전

 

그림 23 변경 후

 

 추가 및 변경이 완료되었다면 [pom.xml]파일을 저장합니다.

 

 

REFERENCE

  •  

DATE

  • 2020.02.15
728x90
반응형
Comments