본문 바로가기

Spring/Spring Boot 기초

Spring Boot 셋팅하기 - start.spring.io

SpringBoot 프로젝트를 셋팅할 때 사이트에서 할 수 있는 방법이다.

프로젝트 workspace내에서 만들 수 있지만, 사이트를 통해서 생성하는 방법이다.

각 항목이 어떻게 이루어져있는지 간단한 설명을 작성했고, 기본적으로 많이 사용하는 방식으로 셋팅해보았다.

입문자용으로 처음에 셋팅해볼 때 참고하면 좋을 것 같다.


https://start.spring.io/

사이트에 들어가면 이와같이 프로젝트의 버전, 라이브러리, 언어 등 선택할 수 있다.

1. Project

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

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

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

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

 

 

2.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 


 

 

3.SpringBoot

SpringBoot의 버전을 선택할 수 있다.

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

4. Project Metadata

아래의 설명과 맞게 예시를 작성했습니다.

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

(ex: com.jin2rang )
Artifact 빌드된 결과물 이름을 의미한다.
Name 프로젝트명이다.
Description 프로젝트 관련 설명을 간단히 작성한다.
Package name 패키지명이다.
( ex: com.jin2rang.hello)
Packaging 배포 형태를 의미한다. 

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

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

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


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

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

 


4. Dependencies

Add Dependencies 버튼을 누르면, 목록창을 확인 할 수 있다.

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

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

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

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

간단히 셋팅해보는 연습을 하기위해 Spring Web, Thymeleaf를 선택했다.


최종적으로 다음과 같이 프로젝트 셋팅을 위해 설정했다.

Project : Gradle Project
Language : Java
SpringBoot 2.7.1
Project Metadata : 
             group : com.jin2rang
             artifact : hello
Dependencies : Spring Web, Thymeleaf 

 

마지막으로, 하단에 GENERATE 버튼을 클릭하면 해당 프로젝트의 zip파일이 다운받아진다!!

이 프로젝트를 IDE에서 import해서 사용하면 된다 ㅎ_ㅎ

아래에 import하는 방법을 작성해 놓았다.

https://jin2rang.tistory.com/entry/Spring-Boot-Import-projects?category=976390 

 

Spring Boot - Import projects

Gradle기반 Spring Boot 프로젝트를 import하는 방법이다. STS(Eclipse)의 import projects > Gradle > Existing Gradle Project를 선택한다! project root directory에서 import할 프로젝트 경로를 선택한다...

jin2rang.tistory.com