SW 개발/Spring
Spring Boot, 프로젝트 생성하기
지단로보트
2021. 11. 15. 00:31
개요
Spring Boot
는 Java, Kotlin 진영에서 가장 많이 사용되고 있는 프레임워크이다. 이름에서 드러나듯이 국내에서 가장 사랑 받는 Spring 프레임워크를 기반으로 한다. 경쟁자로 역시 뒤지지 않는 막강한 기능의Dropwizard
가 존재하지만 국내에서는 친숙하지 않은 JAX-RS를 기반으로 하여 앞으로도 국내에서 많이 쓰이지는 않을 것으로 생각된다. (나는 2015년 국내 모 영화 포탈 서비스의 일부를 JAX-RS 기반의 Jersey로 개발하며 상당한 생산성 향상을 경험한 적이 있다. 문제는 후에 담당한 운영 인력이 익숙치 않은 문법에 어려움을 겪었다고 한다.) 이후로는 Kotlin + Spring Boot 조합으로 소속한 회사의 백엔드 서비스를 개발하고 있는데 매번 그 편리함에 감탄하고 있다. 한편,IntelliJ IDEA
는 Eclipse를 압도하는 Java 진영 최강의 IDE로 군림하고 있다. IntelliJ와 Spring 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 IDEA로
build.gradle.kts
파일을 실행하면 프로젝트가 열린다.
Gradle Wrapper
- 생성된 프로젝트의 루트 디렉토리에는 멀티 플랫폼에서 실행 가능한
gradlew
명령어가 기본 제공된다. Gradle Wrapper라고 부르는데, 이를 통해 개발자는 Gradle을 로컬에 별도로 설치하지 않아도 Gradle로 프로젝트 빌드 및 실행에 필요한 모든 작업을 수행할 수 있다.
# 실행 가능한 모든 작업 목록 출력
$ gradlew tasks
# 프로젝트 실행
$ gradlew bootRun
# 프로젝트 빌드, /build/libs 디렉토리에 .jar 파일 생성
$ gradlew build
# 도커 이미지 빌드
$ gradlew bootBuildImage --imageName=foobar