프로젝트 시작하기

정의정·2023년 6월 7일
0

Spring

목록 보기
2/12
post-thumbnail

💡 스프링 프로젝트 시작하기

스프링 프로젝트를 하기 위해서는 자바 개발 도구(JDK), 빌드도구(Maven이나 Gradle), 자바 통합 개발 환경(IDE)가 필요하다. 이번 포스트에서는 스프링 프로젝트 개발을 위한 환경을 만들어 볼 것이다.

🌟 JDK, Maven/Gradle, Eclipse 설치하기

현재 필자가 사용하는 OS는 Windows OS이므로 이를 기준으로 기술한다.

1. 자바 개발 도구(Java Development Kit: JDK) 설치

스프링 버전에 따라 필요한 최소 자바 버전이 다르다.
스프링 4.3자바 6이상이 요구되고,
스프링 5자바 8이상이 요구된다.

현업에서 사용하는 개발 관련 기술들은 대부분 아직 자바 8에 맞춰 동작한다.

공부하는 입장에서 여러 버전 문제를 피하기 위해서는 자바 8을 설치하도록 한다.

JDK 다운로드✔️

https://www.oracle.com/java/technologies/downloads/ 에서 JDK를 다운로드할 수 있다.

JDK를 설치한 후 다음 단계로 넘어가자.

환경 변수 설정✔️

내 PC 우클릭 > 속성메뉴 > 고급 시스템 설정 > 고급 탭 > 환경 변수

환경변수 대화창에서 환경변수 JAVA_HOME을 등록하고 값으로 JDK 설치 폴더를 지정한다.

자바 버전 설정✔️

여러 버전의 자바를 설치했다면 PATH 환경변수를 이용해 java 명령어 버전을 지정할 수 있다.

PATH 환경변수 값 맨 앞에 %JAVA_HOME%\bin;을 추가하면 명령 프롬프트에서 java 명령어를 실행할 시 JAVA_HOME에 해당하는 버전 폴더의 bin 폴더에 위치한 java 프로그램을 실행한다.

확인✔️

설정이 잘 되었는지 확인하기 위해 명령 프롬프트에 아래 명령을 실행하자.

java -version

올바르게 설정했다면 자바 버전 정보를 출력할 것이다.

2. Maven/Gradle 설치

사실 이클립스나 인텔리제이를 사용할 거라면 Maven을 따로 설치하지 않아도 상관없으니 넘어가도 좋다.

어플리케이션을 개발할 때 메이븐을 사용하면 톰캣을 없이 간단한 메이븐 설정만으로도 실행할 수 있다고 하니, 공부하는 입장에서 이를 위해 설치했다.

Maven 다운로드✔️

https://maven.apache.org/download.cgi 에 방문하여 메이븐 최신 버전을 다운로드 하고 찾기 쉬운 위치에 압축을 푼다.

환경 변수 설정✔️

명령 프롬프트에서 메이븐을 실행할 수 있도록 PATH 환경변수를 설정한다. 환경변수 대화창에서 환경변수 MAVEN_HOME을 등록하고 값으로 압축을 푼 메이븐의 bin 폴더를 지정한다. %MAVEN_HOME%\bin;를 PATH 환경변수 값 맨 앞에 추가하면 된다.

확인✔️

여기까지 완료했다면 명령 프롬프트를 켜고 다음 명령어를 입력해보자.

mvn -version

올바르게 설정했다면 메이븐 버전 정보를 출력할 것이다.

Gradle✔️

그레이들을 설치하고 싶다면 위 과정에서 다운로드 사이트 주소를 바꿔 진행하면 된다. https://gradle.org/releases/ 사이트에서 최신 버전 그레이들을 다운로드 할 수 있다.

그레이들 설치 및 설정에 잘 따라왔는지 확인하기 위해 명령 프롬프트에 다음 명령어를 입력해보자.

gradle -version

올바르게 설정했다면 그레이들 버전 정보를 출력할 것이다.

3. Eclipse/IntelliJ 설치

이클립스와 인텔리제이는 자바 IDE(통합 개발 환경) 중 가장 많이 사용되는 개발 도구들이다.

Eclipse✔️

https://www.eclipse.org/downloads/eclipse-packages/ 사이트에서 "Eclipse IDE for Enterprise Java and Web Developers" 패키지를 다운로드 하고 원하는 곳에 압축을 풀면 eclipse 폴더가 생긴다.

폴더 내 eclipse.exe 파일을 실행하면 이클립스가 실행된다.

IntelliJ✔️

https://www.jetbrains.com/ko-kr/idea/download/?section=windows 사이트에서 유료/무료 버전 인텔리제이를 다운로드 할 수 있다.

여기까지 완료했다면 프로젝트 시작 준비가 끝난 것이다. 이제 정말 프로젝트를 시작해보자.


🌟 Project 폴더 생성하기

앞으로 프로젝트를 진행할 폴더를 만든다.

~:\spring\sp-chap01\src\main\java

위 경로를 참고하여 Workspace 내에 폴더를 만든다.

src\main\java

이 폴더 구조는 메이븐에 정의되어 있는 기본 폴더 구조다. java 폴더에는 자바 소스 코드가 위치할 것이다. 그 외에 다른 자원 파일이 필요하다면 src\main\resources 폴더를 만들어 해당 파일을 위치시키면 되겠다.


🌟 Maven/Gradle 프로젝트 생성하기

폴더를 생성했다면 자바 프로젝트를 구성하기 위해 빌드 도구를 사용할 것이다. 메이븐(Maven)과 그레이들(Gradle) 중 마음에 드는 빌드 도구를 선택하여 프로젝트를 구성해보자.

1. Maven 프로젝트

메이븐 프로젝트에서 핵심은 pom.xml 파일이다.
pom.xml은 메이븐 프로젝트에 대한 설정 정보를 관리하는 파일로서 필요로하는 모듈이나 플러그인 등에 대한 설정을 담는다.

pom.xml 파일 작성✔️

우선 sp-chap01 폴더에 아래와 같은 pom.xml 파일을 작성한다.

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
		http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>spring</groupId>
	<artifactId>sp-chap01</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>11</source>
					<target>11</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

자세히 살펴보기✔️

	<artifactId>sp-chap01</artifactId>

위 설정은 프로젝트의 식별자를 지정하는 부분이다. 여기서 프로젝트 폴더의 이름을 사용하면 된다.

아래는 의존(dependency) 설정 부분이다.

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>5.0.2.RELEASE</version>
		</dependency>

메이븐은 한 개의 모듈을 아티팩트라는 단위로 관리한다.
위 설정은 spring-context라는 식별자를 가진 5.0.2.RELEASE 버전의 아티팩트에 대한 의존을 추가한 것이다.
의존을 추가한다는 것은 클래스 패스에 spring-context 모듈을 추가한다는 것을 뜻한다.

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>11</source>
					<target>11</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>

위 코드는 11 버전을 기준으로 자바 소스를 컴파일하고 결과 클래스를 생성한다는 내용을 담고 있다. 메이븐 컴파일러 플러그인 버전이 3.8.3은 없고 3.8.1에서 3.9.0으로 넘어가길래 3.8.1로 설정했다. 사용할 인코딩은 UTF-8로 설정했다.

jar 파일 다운로드✔️

의존 설정을 마쳤으나 클래스 패스에 jar 파일을 추가하려면 sp-chap01이라는 프로젝트 폴더로 이동하여 아래와 같이 명령을 실행해야 한다.

mvn compile

그럼 pom.xml 파일에 설정대로 필요한 jar 파일을 원격 리포지토리에서 사용자의 로컬 리포지토리로 다운로드 할 것이다.
그 외에도 메이븐과 관련된 파일이 다운로드에 포함된다.

메이븐은 의존 대상이 다시 의존하는 대상까지도 의존 대상에 포함하는 의존 전이(Trancitive Dependencies)를 지원한다.

2. Gradle 프로젝트

그레이들 프로젝트를 생성하는 과정은 메이븐과 크게 다르지 않다.

build.gradle 작성✔️

pom.xml 파일 대신 아래처럼 build.gradle 파일을 작성하면 된다.

apply plugin: 'java'

sourceCompatibility = 11
targetCompatibility = 11
compileJava.options.encoding = "UTF-8"

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework:spring-context:5.0.2.RELEASE'
}

wrapper {
    gradleVersion = '8.1.1'
}

자세히 살펴보기✔️

apply plugin: 'java'

위는 그레이들 java 플러그인을 적용한다는 코드다.

sourceCompatibility = 11
targetCompatibility = 11
compileJava.options.encoding = "UTF-8"

위는 소스와 컴파일 결과를 11 버전에 맞추고 소스 코드 인코딩으로 UTF-8을 사용한다는 내용이다.

repositories {
    mavenCentral()
}

위는 의존 모듈을 메이븐 중앙 리포지토리에서 다운로드한다는 코드다.

dependencies {
    implementation 'org.springframework:spring-context:5.0.2.RELEASE'
}

위는 spring-context 모듈에 대한 의존을 설정하는 부분이다.

wrapper {
    gradleVersion = '8.1.1'
}

위는 그레이들 래퍼 설정 부분으로, 소스를 공유할 때 그레이들 설치 없이 그레이들 명령어를 실행할 수 있는 래퍼를 생성해주는 역할을 한다.

그레이들 래퍼 파일 생성✔️

프로젝트 루트 폴더 sp-chap01 에서 다음과 같이 명령어를 실행하여 래퍼 파일을 생성하자.

gradle wrapper

성공하면 여러 파일과 폴더가 생성된다.

gradlew compileJava

위 명령을 입력하면 아래 화면을 확인할 수 있다.

앞서 생성한 래퍼 실행 파일을 이용해서 실행하는 모습이다.


🌟 Eclipse/IntelliJ에 import하기

이제 생성한 프로젝트를 자바 통합 개발 환경인 eclipse/IntelliJ로 임포트 할 것이다. 메이븐과 그레이들 중 본인이 선택한 도구에 해당하는 설명을 보도록 한다.

1. Eclipse에 import

Maven 프로젝트 import✔️

File > Import... 메뉴를 사용한다.

임포트 화면에서 Maven/Existing Maven Projects를 선택한다.

Browse...를 클릭하여 ap-chap01 폴더를 선택하고 finish버튼을 클릭하면 이클립스가 프로젝트를 임포트하기 시작한다.

Gradle 프로젝트 import✔️

File > Import... 메뉴를 사용한다.

임포트 화면에서 Gradle/Existing Gradle Projects를 선택하고 Next 버튼을 누른다.

다음 화면에서도 Next 버튼을 누른다.

Browse...를 클릭하여 ap-chap01 폴더를 선택한다.

임포트 옵션에서도 Next 버튼을 누른다.

finish버튼을 클릭하면 이클립스가 프로젝트를 임포트하기 시작한다.

두 빌드 도구 취향에 맞게 사용하면 된다.

2. IntelliJ에 import

Maven 프로젝트 import✔️

File > new > Import... > Project from Existing Sources... 메뉴를 사용한다.

Maven을 선택하고 create한다.

Gradle 프로젝트 import✔️

마찬가지로 File > new > Import... > Project from Existing Sources... 메뉴를 사용한다.

Gradle을 선택하고 create한다.


🎀 줄이며...

이번 포스트에서 프로젝트 시작에 대해 자세히 다뤄보았으니, 다음 포스트에서는 본격적으로 spring으로 간단한 프로그램을 작성해보도록 하겠다.

📖 교재 및 출처

  • 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 | 최범균님 저
profile
배움 기록

0개의 댓글