본문 바로가기

개발 이야기/Spring Boot

[10분 Boot-up] Kotlin으로 스프링부트 Web Application 만들기 - (1) 개발 환경 설정하기(Gradle)

 

Kotiln과 Spring Boot을 모르더라도 10분씩 따라하면서 자연스럽게 Web Application을 만들어보는 것이 목표입니다.

각 챕터에서 나오는 중요한 내용은 별도로 [더 알아보기]에 보충해서 작성할 예정입니다.

 

시작하기

요즘 Kotlin으로 Spring Boot 웹 어플리케이션 서버를 개발하고 있다. 작년까지 평범하게 Java 8 버전으로 Spring Boot 2.3 기반으로 서버를 개발했었는데 벌써 Spring Boot는 2.4버전이 나오고, 나는 Kotlin을 사용하고 있다. 세월도 빠르지만 기술의 발전 속도는 점점 더 빨라지고 새로운 기술의 등장은 더 많아지는 것 같다. 사실 Kotlin 자체가 등장한지는 꽤 됐지만, Android 개발을 넘어 Java 생태계의 Spring Boot 웹 어플리케이션 개발 영역까지 이렇게 빠르게 확대될줄 예상하지 못했다.

 

개인적으로 프로그래밍 언어를 공부할 때 간략한 문법 정도를 빠르게 익히고, 프로젝트(주로 업무)를 개발하면서 자세한 디테일을 알아가는 스타일이라서 Kotlin도 비슷하게 공부하고 있다. 실제 현업에서 Kotlin을 통한 Spring Boot 웹 어플리케이션을 개발중이라 개발을 진행하면 진행할수록 재밌는 특성들이 튀어나온다. 또 Kotlin 자체의 특성도 특성이지만, Lombok을 사용하지 않아도 아무런 불편이 없을만큼 boilerplate code가 줄어드는 점도 놀랍다.

 

이 외에도 Kotlin으로 개발하면 좋은 점들이 많지만 앞으로 천천히 "[10분 Boot-up] Kotlin으로 스프링부트 Web Application 만들기" 시리즈를 정리하면서 하나씩 소개하려고 한다.


Spring Boot 프로젝트 개발 환경 설정

가장 쉽게 Spring Boot 웹 어플리케이션 앱을 시작하는 방법은 Spring Initializr를 이용하는 방법이다. 나는 IDE로 IntelliJ를 사용하고 있기 때문에 IntelliJ 기준으로 설명하려고 한다. 먼저 New Project 메뉴를 통해서 Spring Initializr를 선택하고 다음 단계로 넘어간다.

 

 

 

 

Project의 기본 속성을 설정한다. Group과 Artifact를 입력하고 빌드 Tool(Type)은 Gradle, Language는 Kotlin을 선택한다. Version은 Semantic Versioning 기반인 기본값 0.0.1-SNAPSHOT 그대로 사용한다. Packaging은 Jar(Java Archive)로 선택한다. Spring Boot는 내장 WAS(Tomcat, Netty)를 지원해주기 때문에 웹 어플리케이션을 생성하더라도 War로 선택하지 않아도 실행 가능한 Jar로 패키징이 가능하다.

 

 

 

 

Dependencies는 일단 아무것도 선택하지 말자. 나중에 필요한 것을 직접 추가한다. (BOM과 spring-boot-dependencies 개념을 함께 알아보면서 추가해본다.)

 

 

 

 

최대한 Default 상태로 Project 설정을 마무리한다.

 

 

 

 

아래처럼 프로젝트가 시작됐다면 Gradle이 동작하면서 기본 상태의 Spring Boot 어플리케이션에 필요한 라이브러리가 다운로드된다. 잠시 완료되기를 기다리고 프로젝트 파일들이 인덱싱되는 것을 기다린다. 약 1~2분 정도 시간이 걸리며, 완료되면 아래처럼 Gradle Tasks들이 활성화되고 자동으로 생성된 기본 코드에 Syntasyntax highlighting이 활성화되면 실행 준비는 끝난다. 

 

 

 

 

이 상태에서 Control + R 혹은 우측 상단의 Run을 눌러보면 Gradle 빌드 후 Spring Boot 어플리케이션이 구동되는 것을 확인할 수 있다. 현재는 아직 웹 서버가 아닌 단순 어플리케이션 프로젝트이기 때문에 구동 후에 바로 종료된다. 

 

 

 

마무리

간단하게 Kotlin 기반의 Spring Boot 어플리케이션을 설정하고 구동해봤다. 다음으로는 운영 환경에 따라서 Application의 설정을 설정할 수 있도록 Profile 설정을 해보자.