출시·고도화 중
Framework · 2014년 공개
Spring Boot는 Spring 기반 애플리케이션을 최소한의 설정으로 바로 실행할 수 있게 해 주는 Java·Kotlin 서버 프레임워크입니다.
Spring Boot는 Spring Framework 위에서 독립 실행형 운영 수준 애플리케이션을 빠르게 만들 수 있도록 돕는 프레임워크입니다. 2014년에 1.0이 공개되었고, 지금은 Broadcom의 Spring 팀과 커뮤니티가 오픈 소스로 개발합니다. 클래스 경로를 보고 필요한 빈을 대신 구성하는 자동 구성과, 기능별 의존성을 한데 묶은 스타터 덕분에 XML이나 긴 설정 없이 바로 코드를 쓰기 시작할 수 있습니다.
Spring Boot는 REST API 서버, 마이크로서비스, 사내 업무 시스템, 배치 작업처럼 안정성과 유지 보수성이 중요한 서버 애플리케이션에서 널리 쓰입니다. Spring Data, Spring Security, Spring Batch 같은 Spring 프로젝트와 자연스럽게 이어지고, 내장 웹 서버를 포함한 실행 가능한 jar 하나로 배포할 수 있어 컨테이너와 클라우드 환경에도 잘 맞습니다. Actuator가 상태 확인과 지표 수집 같은 운영 기능을 제공합니다.
처음 시작한다면 JDK를 설치한 뒤 Spring Initializr(start.spring.io)에서 web 의존성을 고른 프로젝트를 만들고, 공식 가이드 Building a RESTful Web Service를 따라 해 보는 것을 권합니다. 이어서 의존성 주입과 자동 구성의 원리를 익히고, Spring Data JPA와 테스트 지원으로 범위를 넓혀 가면 됩니다. 공식 참조 문서는 설정 항목과 기능을 빠짐없이 설명합니다.
클래스 경로에 있는 라이브러리와 설정 값을 보고 웹 서버, 데이터 소스, JSON 변환 같은 빈을 알아서 구성하며, 직접 정의한 빈이 있으면 그쪽을 우선합니다.
웹, 데이터 접근, 보안, 테스트처럼 기능별로 검증된 의존성 묶음을 제공해, 라이브러리 버전 조합을 고민하지 않아도 됩니다.
Tomcat 같은 웹 서버를 애플리케이션 안에 포함해, jar 하나를 java -jar로 실행하거나 컨테이너 이미지로 바로 만들 수 있습니다.
Actuator가 상태 확인, 지표, 환경 정보 엔드포인트를 제공하고, 외부 설정과 프로필로 환경마다 다른 값을 깔끔하게 관리합니다.
Spring Boot는 JVM에서 실행되므로 JDK가 필요합니다. 지원되는 Java 버전은 공식 문서의 시스템 요구 사항에서 확인하고, 가능하면 최신 LTS를 설치합니다. Gradle과 Maven은 프로젝트의 래퍼가 내려받으므로 따로 설치하지 않아도 됩니다.
java -versionSpring Initializr에서 웹 의존성을 고른 프로젝트를 내려받습니다. start.spring.io 웹 화면이나 IntelliJ IDEA, VS Code 같은 편집기의 마법사를 써도 결과는 같습니다.
curl https://start.spring.io/starter.zip -d dependencies=web -d baseDir=demo -o demo.zip && unzip demo.zipGradle 래퍼로 애플리케이션을 실행하면 내장 웹 서버가 8080 포트에서 요청을 기다립니다. Maven 프로젝트라면 ./mvnw spring-boot:run을, Windows에서는 gradlew.bat bootRun을 씁니다.
cd demo && ./gradlew bootRun@SpringBootApplication은 자동 구성과 컴포넌트 스캔을 켜는 진입점 표시이고, main 메서드의 SpringApplication.run이 애플리케이션과 내장 웹 서버를 시작합니다. 같은 클래스에 @RestController를 붙이고 @GetMapping으로 경로를 연결했으므로, ./gradlew bootRun을 실행한 뒤 브라우저에서 http://localhost:8080/ 을 열면 Hello, World!가 표시됩니다.
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
}
./gradlew bootRun설치부터 Spring Boot 의 핵심 개념까지, 여섯 장으로 차근차근 따라 합니다.
Spring Boot 에 관해 묻고, 경험을 나누고, 의견을 주고받는 곳입니다.
아직 토론이 없습니다. 첫 이야기를 시작해 보세요.
댓글 0개
로그인 · 로그인하면 댓글을 남길 수 있습니다.
첫 댓글을 남겨 보세요.