스프링 부트 개발환경을 구성해 보자
일단 인텔리제이를 키고 상단에 New Project를 클릭하면 아래와 같은 창이 뜰 것이다.
개발환경 구성을 많이 해본 사람이라면 이 창만 봤을때 대충 감이 오겠지만 그래도 몇가지만 간단하게 설명을 하자면 아래와 같다.
Name : 프로젝트 명
Location : 프로젝트가 저장이 될 위치
Language : 언어 선택
Type : 빌드 타입 선택
Java : 자바 버전
Packaging : 패키징되는 방식
여기서 부트를 처음 시작하려는 사람이 봤을때 낯설 수도 있는것이 빌드방식일 것이다.
프로젝트를 빌드하는 방식은 크게 maven과 gradle로 나뉘어서 설정이 가능한데, 스프링 프레임워크를 이용해서 개발을 계속 했던 사람은 maven방식이 익숙할 것이다.
maven과 gradle의 차이를 간단하게 설명을 하자면,
기존 maven을 사용했을 경우 xml의 형식으로 라이브러리와 기타 설정 값들을 정의해서 활용이 되었으나 gradle의 경우는 별도의 빌드 스크립트를 통해서 pom.xml과 같이 정의될 수 있다.
그래서 무엇을 선택하는냐 라고 물어본다면 개인적인 취향이지만 gradle을 추천한다.
그 이유는 개인적으로 생각했을 때 gradle의 장점은
나는 개인적으로 처음 공부를 시작할때 gradle을 한번 경험해본 뒤로 spring boot개발환경을 구성할때는 무조건 gradle을 선택한다.... 그만큼 한번 적응되면 못빠져 나온다....
여기까지 하고 다음 next로 넘어가면
아래와 같이 스프링 부트 버전을 선택하고 프로젝트를 만들면서 의존성을 같이 추가할 수 있다.
나는 개인적으로 아직 3.x 버전대의 부트보다는 2.x 버전의 프로젝트로 구성하는 것이 익숙하다.
그 이유는 스프링 부트 3.x 버전이상부터는 Java 17 이상으로 구성을 해야하는데 나는 아직 Java1.8 이나 Java11이 더 익숙하기 때문에 나와 같은 사람들은 2.x대의 버전으로 선택하는 것이 좋을 것이다.
더욱 자세한 정보는 아래 스프링 부트 공식문서에 나와 있다.
https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started
버전까지 선택을 완료했으면 의존성을 추가해주면 되는데, 선택 항목이 너무 많아서 어떤 것을 추가해야 할지 모르겠으면 그냥 아래 사진 처럼 1개만 추가해줘도 된다.
이후 create로 프로젝트를 생성하면
build.gradle에 spring-boot-starter-web 라이브러리가 추가된 것을 확인할 수 있는데 해당 라이브러리에 대해 간단하게 설명하자면 스프링MVC를 사용하는 RESTful 애플리케이션을 만들기 위한 의존성으로 기본적으로 내장 tomcat이 포함이 되어있다.
즉 해당 의존성만 추가하고 프로젝트 시작을 하면 바로 아래 이미지 처럼 프로젝트가 실행이 된다.
기본 포트는 8080으로 기동이 된다. 정상적으로 접근 되는지 테스트를 위해 /hello로 접근하면 hello를 return해주는 컨트롤러를 만들고 접근했더니 아래와 같이 정삭적으로 나오는 모습을 볼 수 있다.
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@org.springframework.stereotype.Controller
public class Controller {
@GetMapping("/hello")
@ResponseBody
public String index() {
return "hello";
}
}
여기까지 개발환경 구성을 알아보았다.
프로젝트 생성할때 라이브러리 선택하는 창에서 lombok, spring security, jpa, db connector 등 여러 라이브러리 선택이 가능하니 한번 찾아보는 것도 좋을 것 같다.