본문 바로가기

Spring

Spring Boot 셋팅하기 - STS

spring boot 기본적인 프로젝트 셋팅을 해보려고 한다. 

나는 springSTS를 사용하는데, 먼저 원하는 경로에 프로젝트 폴더를 생성했다.

 

 

그리고 springSTS를 실행시키면 workspace의 경로를 선택하는 것이 나온다. 

browse를 클릭하면, 내가 생성한 work space의 경로의 폴더를 선택하면 된다!

 

 

 

나는 sseNotification이라는 폴더를 생성했고, 선택후 아까 창에서 Launch를 클릭하면 된다.

 


 

생성하고 나면, 아무것도 없는 workspace가 보여진다. 

 

 

맨 왼쪽 package explorer에서 Create new Spring Starter Project로 spring boot 프로젝트를 생성한다.


 

 

생성할 프로젝트의 정보들을 기입하면 된다!

1. Name :

이 프로젝트의 이름을 작성한다.

 

2. Type : 

Maven Project, Gradle Project 두 가지가 있는데, 이 두개 중 하나의 빌드관리 도구를 선택하면 된다!

요즘에는 대부분 Gradle을 이용하여 개발하는 추세이다. 그 이유는 스크립트의 가독성이 좋고, 빌드와 테스트 실행결과가 gradle이 더 빠르다. gradle은 캐시를 사용하여 이미 업데이트된 것에 대해서는 작업이 실행되지 않아 빌드시간이 단축된다. 그래서 의존성이 늘어날수록 성능, 속도 등에 장점이 있어 Gradle을 선호한다.

Maven과 Gradle의 역할은 빌드관리 도구이다.
어플리케이션을 개발하다보면 필요한 라이브러리들을 다운받아 사용하게 되다. 이때 이 빌드관리 도구를 통해서 각종 라이브러리들을 버전, 종속성 등을 명시하여 사용할 수 있고, 라이브러리들의 의존관계들을 모두 가져와 의존관계를 관리해준다.

(프로젝트 셋팅에 앞서 정리하는 글이기 때문에 maven과 gradle의 자세한 내용은 추후 작성해봐야겠다!)

 

 

3. Packaging :

배포 형태를 의미한다. 

jar,war 모두 java -jar를 이용해 생성된 압축파일로 애플리케이션을 배포하고 동작할 수 있도록 프로젝트와 관련된 파일들을 패키징 한 것이다.

- jar
Java 어플리케이션이 동작할 수 있도록 프로젝트를 압축한 파일로, class와 라이브러리파일이 포함되어 있다. 그리고 JRE만 있어도 실행할 수 있다. 서버에서 java -jar hello.jar하면 실행가능하다.

- war
Servlet, Jsp 컨테이너를 배치할 수 있는 웹 어플리케이션을 압축한 파일이다. 웹 프로젝트에는 jsp, html , javasscript등 웹과 관련된것들이 포함되어 있고, 웹서버나 was가 필요하다. 


쉽게 생각하면 웹화면이 필요한 어플리케이션은 war로 패키징하고 , api서버로 사용하는 것과 같이 사용한다면 java 프로젝트로만 동작하면 되기 때문에 jar로 하면 된다.

 

 

4. Java Version :

사용하고자 하는 자바버전을 선택하면 된다!
open jdk를 설치하면 된다.
https://jin2rang.tistory.com/entry/OpenJDK-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

 

5. Language :

Java , Kotlin, Groovy

스프링으로 개발을 할 때 주로 Java를 사용하고, 요즘에는 Kotlin을 이용해서 개발한다.
Groovy로는 해본 적이 없어 생소한데, 이 언어는 JVM에서 실행되는 스크립트 언어이고, Java와 문법이 비슷한 언어라고 한다.

참고 : https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EA%B7%B8%EB%A3%A8%EB%B9%84 

 

 

6. Group : 

보통 기업의 도메인명을 기입한다.
개인 프로젝트라면 블로그도메인이나 자유롭게 만들면 된다.

 

 

7. Artifact :

빌드된 결과물 이름을 의미한다.

 

 

8. Version : 

생성하는 프로젝트의 버전을 명시하면 된다.

 

 

9. Description :

생성하는 프로젝트의 설명을 작성하면 된다.

 

 

10. Package :

생성하는 프로젝트 내의 패키지 명이다.

 


 

 

spring boot version을 선택 할 수 있다.

버전 뒤에 보면 SNAPSHOT은 개발중인 버전이라는 의미이다. 
그래서 사용할 때는 버전 숫자 뒤에 영어가 붙어있지 않는 것이 정식버전이기 때문에
이 중에서 하고자 하는 버전을 선택하거나 제일 최신버전을 선택하면 된다.

원하는 버전을 선택하면 되고, 만약 잘 모르겠으면 일단 버전 임의로 선택한 후에 추후에 바꾸면 된다!
( https://stackoverflow.com/questions/46786486/alpha-beta-snapshot-release-nightly-milestone-release-candidaterc-whe/46967235#46967235)

 

dependency들의 목록들을 보면,
Spring Boot로 프로젝트 개발할 때 필요한 기능들을 사용할 수 있도록
필요한 라이브러리들을 모아둔 것이라고 생각하면 된다.

 

이 Dependency를 통해 라이브러리들을 추가하고, 버전을 명시하면서 의존성 관리를 할 수 있고, 불러운 라이브러리내부를 보면 연관되어있는 라이브러리들까지 모두 가져오기 때문에 개발할 때 관리하기 편하다.

그리고, 셋팅할 때 여기서 선택하지 못하였더라도
Maven은 pom.xml
Gradle은 build.gradle파일에서 라이브러리를 추가하면 된다.

즉, 여기서 필요한 라이브러리들을 선택하고 pom.xml이나 build.gradle에서 관리하는 것이다!

 

원하는 라이브러리들을 선택 한 후에, Next 클릭!

 

Finish 클릭!

 

 

 

프로젝트 셋팅이 끝나면 왼쪽에 생성 된 것을 확인 할 수 있다!