Spring Boot를 사용하는 이유와 스프링 프레임워크와의 차이
🚀 스프링 부트를 사용하는 이유와 스프링 프레임워크와의 차이
Spring Boot는 Spring Framework를 더 쉽게 사용할 수 있도록 도와주는 프레임워크.
기존 Spring Framework는 설정이 많고 복잡했지만, **Spring Boot는 자동 설정(Auto Configuration)**을 제공하여 빠르게 애플리케이션을 개발할 수 있다.
1️⃣ ❓ 스프링 부트를 사용하는 이유
✅ 1. 설정이 간편하다
기존 Spring에서는 XML 설정이 많았지만, Spring Boot는 대부분의 설정을 자동으로 해준다!
- 자동 설정(Auto Configuration)
- Spring Boot Starter를 활용한 의존성 관리
✅ 2. 내장 서버 제공
Spring Boot는 Tomcat, Jetty, Undertow 등의 WAS(Web Application Server)를 내장하고 있어서 별도 서버 설치 없이 실행 가능!
./gradlew bootRun # 실행 명령어 한 줄이면 끝!
✅ 3. 빠른 애플리케이션 개발 가능
- SpringApplication.run()을 호출하는 것만으로 애플리케이션 실행
- Spring Boot Starter를 사용하면 복잡한 라이브러리 의존성을 쉽게 관리 가능
✅ 4. REST API 개발이 간편하다
- @RestController, @GetMapping 같은 어노테이션을 사용해 빠르게 API 개발 가능
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
✅ 5. 배포가 간편하다
Spring Boot는 JAR 파일로 패키징할 수 있어서 별도의 WAS 없이 단독 실행 가능!
java -jar myapp.jar
✅ 6. 마이크로서비스 아키텍처(MSA) 친화적
Spring Boot는 마이크로서비스 개발에 최적화되어 있어, 클라우드 환경(AWS, Docker, Kubernetes)과 쉽게 연동 가능해.
2️⃣ 🆚 스프링 프레임워크 vs 스프링 부트
비교 항목 Spring Framework Spring Boot
설정 방식 | XML / Java Config | Auto Configuration |
의존성 관리 | 수동으로 추가 | spring-boot-starter-* 제공 |
내장 서버 | 없음 (Tomcat 등 별도 설정 필요) | Tomcat, Jetty, Undertow 내장 |
애플리케이션 실행 | WAS 배포 필요 | java -jar로 실행 가능 |
개발 속도 | 상대적으로 느림 | 빠른 개발 가능 |
배포 방식 | WAR 파일로 배포 | JAR 또는 WAR 모두 가능 |
마이크로서비스(MSA) 지원 | 직접 설정 필요 | 클라우드 및 MSA 친화적 |
3️⃣ 🔥 스프링 부트를 사용하면 좋은 경우
✅ 빠르게 REST API를 개발하고 싶을 때
✅ XML 없이 설정을 자동화하고 싶을 때
✅ 별도 WAS 없이 실행 가능한 애플리케이션을 만들고 싶을 때
✅ 마이크로서비스(MSA) 환경에서 가볍게 배포하고 싶을 때
💡 결론
Spring Boot는 Spring Framework를 기반으로 설정을 자동화하고, 개발 속도를 높이며, 배포를 간편하게 만든 프레임워크! 🚀