엔터프라이즈 애플리케이션을 개발하기 위한 핵심 기능을 제공하는 Spring Project 중 하나이며 Spring Framework의 편리함에도 불구하고 Spring 설정의 복잡함을 해결하기 위해 탄생하였다.
Spring 구성을 Spring에게 맡기고 비즈니스 로직에만 집중할 수 있다.
Spring의 복잡한 설정에 대한 어려움으로부터 벗어날 수 있다.
애플리케이션에서 필요한 라이브러리의 이름과 버전을 일일이 추가했는데, 이로 인해 라이브러리 간의 버전 불일치로 빌드 및 실행 오류가 빈번하게 발생하였다.
Spring Boot를 사용하면 개발자가 의존 라이브러리를 직접 관리해야 하는 부담에서 벗어날 수 있다.
스타터(Starter) 모듈을 통해 설치되는 의존 라이브러리를 기반으로 애플리케이션의 설정을 자동으로 구성한다.
이를 통해 개발자가 직접 애플리케이션에 대한 설정을 해야하는 번거로움을 최소화 해준다.
implementation 'org.springframework.boot:spring-boot-starter-web’
와 같은 starter가 존재한다면 애플리케이션이 웹 애플리케이션이라고 추측한 뒤, 웹 애플리케이션을 띄울 서블릿 컨테이너(디폴트: Tomcat) 설정을 자동으로 구성한다.
implementation 'org.springframework.boot:spring-boot-starter-jdbc’
와 같은 starter가 존재한다면 애플리케이션에 데이터베이스 연결이 필요하다고 추측한 뒤, JDBC 설정을 자동으로 구성합니다.
개발한 애플리케이션 구현 코드를 손쉽게 빌드하여 직접 빌드 결과물을 War 파일 형태로 WAS(Web Application Server)에 올릴 필요가 없다.
[bootjar] 명령을 실행하여 생성된 jar 파일은 즉시 시작 가능한 애플리케이션 실행 파일로 사용된다.
Apache Tomcat이라는 WAS를 내장하므로 별도의 WAS를 구축하지 않고 bootjar 명령을 통해 빌드된 jar 파일을 이용하여 java -jar <jar 파일명>.jar
명령을 사용하면 서비스 가능한 웹 애플리케이션을 실행할 수 있다.