728x90
스프링 부트(Spring Boot)란?
정의
스프링 부트는 스프링 프레임워크의 설정 복잡성을 줄이고, 빠르고 간편한 애플리케이션 개발을 가능하게 해주는 도구입니다.
한 줄 요약:
“스프링을 쉽게 사용하게 해주는 자동 설정 기반 프레임워크”
등장 배경
기존의 스프링은 강력하지만 설정 파일이 너무 많고 복잡했습니다. 이를 개선하기 위해 스프링 팀에서 2014년 정식 출시한 것이 Spring Boot입니다.
핵심 특징
기능 | 설명 |
자동 설정(Auto Configuration) | 대부분의 설정을 자동으로 처리해줌 |
스타터(Starter) 의존성 | 필요한 기능에 맞는 의존성을 한 번에 가져올 수 있음 (spring-boot-starter-web 등) |
내장 웹 서버 지원 | 톰캣(Tomcat), 제티(Jetty), 언더토우(Undertow) 내장 |
독립 실행형 애플리케이션 | 실행 가능한 JAR 파일 하나로 앱 구동 가능 (java -jar) |
Actuator | 애플리케이션 상태, 메트릭, 헬스체크 등을 시각화 |
설정 간소화 | application.properties 또는 application.yml 파일 하나로 설정 통합 |
주요 장점
- 설정 자동화로 빠른 개발 시작
- 배포 단순화: JAR로 바로 실행
- 테스트 용이성: 단위/통합 테스트 자동 지원
- REST API 및 웹 애플리케이션 개발 최적화
- Spring 전체 생태계(Spring Security, JPA, Batch 등)와 완벽한 통합
Spring Boot 예시 구조
myproject/
├── src/
│ └── main/
│ └── java/
│ └── com/example/demo/
│ ├── DemoApplication.java ← 메인 실행 파일
│ └── controller/
│ └── HelloController.java
├── resources/
│ ├── application.yml ← 설정 파일
│ └── static/ ← 정적 파일(css, js 등)
└── build.gradle 또는 pom.xml ← 의존성 정의
🔹 Hello, Spring Boot! 예제
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
마무리 정리
항목 | 스프링 프레임워크 | 스프링 부트 |
설정 | 수동 (복잡) | 자동 (간단) |
웹 서버 | 외부 필요 | 내장됨 |
시작 난이도 | 높음 | 낮음 |
실무 적합도 | 고급 설정에 적합 | 빠른 개발에 적합 |
LIST
'SpringBoot > 시작하기 전에' 카테고리의 다른 글
Gradle vs Maven (0) | 2025.04.14 |
---|---|
개발 환경 설정 (IntelliJ / VS Code / STS) (0) | 2025.04.14 |
스프링 프레임워크 개요 (0) | 2025.04.14 |