SW 개발/Spring

Spring Boot, 프로젝트 생성하기

지단로보트 2021. 11. 15. 00:31

개요

  • Spring BootJava, Kotlin 진영에서 가장 많이 사용되고 있는 프레임워크이다. 이름에서 드러나듯이 국내에서 가장 사랑 받는 Spring 프레임워크를 기반으로 한다. 경쟁자로 역시 뒤지지 않는 막강한 기능의 Dropwizard가 존재하지만 국내에서는 친숙하지 않은 JAX-RS를 기반으로 하여 앞으로도 국내에서 많이 쓰이지는 않을 것으로 생각된다. (나는 2015년 국내 모 영화 포탈 서비스의 일부를 JAX-RS 기반의 Jersey로 개발하며 상당한 생산성 향상을 경험한 적이 있다. 문제는 후에 담당한 운영 인력이 익숙치 않은 문법에 어려움을 겪었다고 한다.) 이후로는 Kotlin + Spring Boot 조합으로 소속한 회사의 백엔드 서비스를 개발하고 있는데 매번 그 편리함에 감탄하고 있다. 한편, IntelliJ IDEAEclipse를 압도하는 Java 진영 최강의 IDE로 군림하고 있다. IntelliJSpring Boot의 조합은 신세계라고 생각되어 본 글에서 간단히 프로젝트 생성 방법을 소개하고자 한다.

사전 조건

  • 로컬 개발 환경에 OpenJDK 17이 설치되어 있어야 한다. 설치 방법은 본 블로그의 이 글을 참고한다.

Spring Boot 프로젝트 생성

  • Gradle, Kotlin, Spring Boot 기반의 빈 프로젝트를 생성하는 가장 간단한 방법은 Spring Initializr 웹사이트를 이용하는 것이다. 웹사이트가 제공하는 직관적인 UI를 이용하여 빈 프로젝트를 쉽게 생성할 수 있다. 생성 예는 아래와 같다.
브라우저에서 https://start.spring.io/ 접속
→ Project: [Gradle Project] 선택 (기본값: Maven Project)
→ Language: [Kotlin] 선택 (기본값: Java)
→ Spring Boot: 2.X.X (기본값이 가장 최신 버전)
→ Packaging: [Jar] 선택
→ Java: [17] 선택
→ [Generate] 클릭
  • 웹 프로젝트를 생성하려면 웹사이트에서 Dependencies 항목에서 Spring Web을 추가해야 한다. 추가 없이 프로젝트를 생성할 경우 일반적인 Spring 프로젝트가 생성된다. (데몬 프로젝트를 생성할 경우 추천한다.)
  • 다운로드가 완료되면 demo.zip 파일의 압축을 풀어 생성된 프로젝트를 확인할 수 있다. IntelliJ IDEAbuild.gradle.kts 파일을 실행하면 프로젝트가 열린다.

Gradle Wrapper

  • 생성된 프로젝트의 루트 디렉토리에는 멀티 플랫폼에서 실행 가능한 gradlew 명령어가 기본 제공된다. Gradle Wrapper라고 부르는데, 이를 통해 개발자는 Gradle을 로컬에 별도로 설치하지 않아도 Gradle로 프로젝트 빌드 및 실행에 필요한 모든 작업을 수행할 수 있다.
# 실행 가능한 모든 작업 목록 출력
$ gradlew tasks

# 프로젝트 실행
$ gradlew bootRun

# 프로젝트 빌드, /build/libs 디렉토리에 .jar 파일 생성
$ gradlew build

# 도커 이미지 빌드
$ gradlew bootBuildImage --imageName=foobar

참고 글

다음 단계로 읽을만한 글