본문 바로가기

Programming/Spring

[Spring] Spring 개발 환경 세팅 (1/3)

728x90

1. Prologue

스프링을 접한지 얼마 되지 않은 스프링 신생아나 다름없기 때문에 DB에서 영화 정보를 가져와 화면에 나타내는 간단한 예제 프로젝트를 해보며 익히기로 했다. 

'스프링은 개발 환경 세팅이 절반이다'라는 말이 공감될 정도로 복잡했다.

개발 환경 세팅을 하는 도중에는 구글링하면서 무작정 따라하기만 했다.

하지만 스프링 프로젝트를 진행하고 MVC 패턴과 스프링 구조를 점차 이해하면서 세팅의 각 단계들을 이해할 수 있게 되었다. 

이 과정을 3번의 포스팅으로 나눠가며 복습해야겠다. 

 

(2021-02-27 추가 : 학습하는 과정에서 나중에서야 스프링부트가 무엇인지를 알게 되었다. 1년전 스프링부트 없이 개발 환경 세팅하는 것은 헷갈리고 어려운 것 투성이였는데, 스프링부트를 접하고나니 엄청 편리하고 생산성이 말도 안되게 향상되는 것을 경험했다. 이 게시글에서 한땀 한땀 스프링 개발 환경 세팅을 하는 과정을 스프링부트에서 알아서 해주기 때문에 이 귀찮은 과정 없이 스프링부트를 사용하시길 권하고싶다. )

2. 개발 환경 세팅

 A. 개발 환경 항목별 버전 체크

JAVA : JDK1.8 (1.8u_231)
  ( https://www.oracle.com/technetwork/java/javase/downloads/index.html )
Eclipse : Version: 2019-12 (4.14.0)
  ( https://www.eclipse.org/downloads )
Spring : Spring Tools 3 Add-On for Spring Tools 4 3.9.11.RELEASE
  ( Eclipse MarketPlace에서 STS 검색해서 다운로드 )
Tomcat : apache-tomcat-9.0.30
  ( https://tomcat.apache.org )
MariaDB : mariadb-10.2.14-winx64 
  ( https://downloads.mariadb.org/mariadb/10.2.14/ )
MySQL Workbench : mysql-workbench-community-8.0.18-winx64
 
( https://dev.mysql.com/downloads/workbench/ )

 B. 개발 환경 세팅 과정

 1) JDK 설치

JDKJRE 차이점
(1) JRE : 자바 실행 환경
→ 자바 애플리케이션을 실행하기 위한 최소의 실행 환경 제공

(2) JDK : 자바 개발 도구
→ JRE에서 제공하는 실행 환경뿐만 아니라 자바 개발에 필요한 여러 가지 명령어 그리고 컴파일러를 포함

 2) Eclipse 설치 및 Spring 다운로드

 3) Tomcat 설정

Apache와 Tomcat의 장단점
  장점 단점
Apache (Static)

처리 속도가 빠름

구조가 단순 -> 비용 절감

트래픽 과부화에 강함

정적인 데이터만 처리 가능

다른 서비스와 상호작용 불가

Tomcat (dynamic)

데이터 흐름이 유동적

DB 등 여러 서비스가 가능

Apache에 비해 속도가 느림

부가적인 비용이 발생

트래픽 과부하에 약함

 4) Spring 프로젝트 생성

File -> New -> Other.. -> Spring Legacy Project
Project name 설정 -> Spring MVC Project -> top-level package 설정

Project name : springtest (자유)
Top-level package : com.moses.springtest (com.회사.프로그램이름 등의 규칙으로 짓는것이 일반적이며, 모두 소문자로 함)
Spring MVC Project = Model 2 MVC 패턴을 적용한 Spring 프로젝트
(Spring MVC란? : https://min-it.tistory.com/7 )
스프링 프로젝트 개발에 필요한 라이브러리는 Maven을 이용해 자동적으로 다운로드 됨
(Maven이란? : https://mangkyu.tistory.com/8 )
라이브러리 버전 수정

  스프링 최신 버전 확인 : https://mvnrepository.com/ 에서 spring 검색

2020.2.15기준, 5.1.13.RELEASE가 최신버전이다.

  스프링5, JDK 1.8로 설정하여 프로젝트를 진행할 것이기 때문에 pom.xml에서 다음처럼 설정

자바 버전 : 1.8,   스프링 프레임워크 버전 5.1.13
maven-compiler 버전: 3.7.0 (source : 1.8, target : 1.8)

  → pom.xml 수정 후 저장하면 자동으로 해당 버전의 라이브러리가 다운됨

서버 세팅

Server 탭에서 우클릭 -> New -> Server -> Tomcat v9.0 Server 선택 -> 서버 이름 설정 -> 구동할 프로젝트(springtest)를 Configured에 Add
서버 추가 후 서버 실행
서버를 실행하면 포트 8080이 이미 사용중이라는 에러창이 뜰 수도 있음

  (Port 8080을 사용중인 프로세스 kill 하는 방법 : https://immose93.tistory.com/11)

 

[Eclipse] Port 8080을 사용중인 프로세스 kill하는 방법

이클립스로 Spring 프로젝트를 처음 세팅하던 중, Tomcat 서버를 설정하고 실행하는 순간 위의 에러를 맞이하게 되었다. 처음엔 당황스러웠지만, cmd 창에서 netstat으로 port8080을 사용하는 프로세스를 알아내..

immose93.tistory.com

  서버를 정상적으로 실행하면 localhost:8080/프로젝트명/ 으로 접속할 수 있음

서버 실행 후 'localhost:8080/프로젝트명/' 으로 접속하면 Hello world 페이지가 뜸