스프링 부트는 마이크로 서비스 구현에 필요한 핵심 기술이다.
스프링 부트에서는 HTTP 형식의 동사(GET 및 PUT, PATCH, POST, DELETE)를 URL에 매핑하고 JSON 프로토콜을 자바 객체로 직렬화할 뿐만 아니라 자바 예외를 표준 HTTP 에러 코드에 매핑하는 작업도 아주 간편해졌다.
Spring Boot는 Spring Framework를 기반으로 한 오픈 소스 자바 프레임워크입니다. 주요 목적은 복잡한 설정(configuration)을 자동화하고, 생산 준비가 된(“production-ready”) Spring 애플리케이션을 빠르고 쉽게 개발할 수 있도록 돕는 것이다.
자동 구성 (Auto-Configuration):
개발자가 일일이 설정하지 않아도, 애플리케이션의 의존성이나 환경에 맞게 기본 설정을 자동으로 구성해 줍니다.
Starter Dependencies:
다양한 기능(예: 웹, 데이터베이스, 보안 등)에 필요한 의존성을 모아둔 스타터(pom 또는 gradle 의존성)들을 제공하여, 필요한 라이브러리를 손쉽게 추가할 수 있습니다.
내장형 서버 (Embedded Server):
Tomcat, Jetty, Undertow와 같은 웹 서버를 내장하고 있어, 별도의 서버 배포 없이 애플리케이션을 실행할 수 있습니다.
간편한 설정 및 배포:
application.properties 또는 application.yml 파일을 통해 설정을 간단하게 관리하고, 실행 가능한 단일 JAR 파일로 패키징할 수 있습니다.
특징 | Spring Framework | Spring Boot |
---|---|---|
설정 | XML, Java Config 등 수동 설정 필요 | 자동 설정(Auto-Configuration) 제공 |
의존성 관리 | 개별 라이브러리 선택 및 관리 필요 | Starter Dependencies로 편리한 의존성 관리 |
서버 | 외부 서버에 배포하는 방식 | 내장형 서버 사용, 단일 JAR 파일 실행 가능 |
Spring Boot를 사용하면 복잡한 Spring 설정을 간소화할 수 있으며, 빠르게 웹 애플리케이션이나 마이크로서비스를 개발하고 배포할 수 있습니다. 이는 개발 생산성을 크게 향상시키며, 초보자도 비교적 쉽게 Spring 생태계에 접근할 수 있도록 도와줍니다.
Spring Boot는 마이크로서비스 아키텍처에서 다음과 같은 방식으로 활용된다: