스프링

스프링 부트(Spring Boot)

생각없는 개발자 2025. 2. 17. 13:00

Spring Boot는 Spring Framework를 기반으로 하면서도 설정을 최소화하여 빠르게 애플리케이션을 개발할 수 있도록 도와주는 프레임워크다. 일반적인 Spring 애플리케이션보다 간편한 설정, 내장 서버, 자동 구성등을 지원하며, 개발자의 생산성을 극대화한다.


1. Spring Boot의 주요 특징

  1. Spring 기반의 빠른 개발 환경
    • Spring Boot는 기존 Spring Framework의 복잡한 설정을 제거하고 빠른 개발 환경을 제공한다.
    • application.properties 또는 application.yml 등의 간단한 설정 파일로 애플리케이션을 조정할 수 있다.
  2. 자동 구성
    • Spring Boot는 spring-boot-starter 의존성을 사용하여 자동으로 적절한 설정을 수행한다.
    • 예를 들어, H2 데이터베이스 의존성을 추가하면 자동으로 임베디드 데이터 베이스를 설정해준다.
    • 필요 시 @EnableAutoConfiguration(exclude = {제외할 설정})로 특정 자동 구성을 제외할 수도 있다.
  3. 내장 서버 지원
    • Tomcat, jetty Undertow 등의 웹 서버가 내장되어 있어 별도의 WAS(Web Application Server) 설치 없이 실행할 수 있다.
    • spring-boot-starter-web 의존성을 추가하면 기본적으로 Tomcat을 내장 서버로 사용한다.
  4. Spring Boot Starter 의존성 관리
    • Spring Boot는 프로젝트에서 자주 사용하는 기술을 손쉽게 설정할 수 있도록 starter 패키지를 제공한다.
  5. Spring Boot CLI
    • Groovy를 이용해 Spring 애플리케이션을 빠르게 실행할 수 있도록 CLI(Command Line Interface)를 제공한다.
    • CLI를 활용하면 단순한 웹 애플리케이션을 몇 줄의 코드로 실행할 수 있다.