Spring은 엔터프라이즈 애플리케이션 개발의 복잡함을 줄이고, 개발자가 효율적으로 코드를 작성할 수 있도록 돕는 프레임워크입니다. 다음 개념들이 핵심 철학입니다.
Spring Boot는 Spring Framework를 기반으로, 애플리케이션 개발을 더욱 간단하게 만들어주는 프레임워크입니다. 주요 특징은 다음과 같습니다:
자동 설정 (Auto Configuration):
Spring Boot는 개발자가 일일이 설정하지 않아도, 프로젝트의 환경에 맞는 기본 설정을 자동으로 제공합니다.
예: spring-boot-starter-web
를 추가하면 자동으로 Tomcat
, Spring MVC
가 설정됩니다.
스타터(Starter):
여러 의존성을 묶어둔 모듈로, 필요한 기능에 맞는 Starter를 추가하기만 하면 됩니다.
예: spring-boot-starter-data-jpa
, spring-boot-starter-security
내장 서버:
Tomcat, Jetty 같은 서버를 내장하고 있어 별도의 서버 설정 없이 애플리케이션 실행이 가능합니다.
→ java -jar
로 쉽게 실행 가능.
운영 환경 지원:
application.properties
또는 application.yml
을 사용해 환경 설정을 관리할 수 있습니다.
또한 Actuator를 통해 애플리케이션 모니터링이 가능합니다.
Spring Framework | Spring Boot |
---|---|
많은 설정이 필요함 | 설정을 최소화하며 자동으로 설정 |
외부 서버 설치 및 설정 필요 | 내장 서버(Tomcat, Jetty 등) 포함 |
특정 모듈을 직접 선택 | 필요한 의존성을 Starter로 간단히 추가 |
프로젝트 초기 구성이 비교적 복잡함 | Spring Initializr로 빠르게 프로젝트 생성 가능 |
Spring Initializr는 Spring Boot 프로젝트를 쉽게 생성할 수 있는 도구입니다.
다음 옵션 선택:
Dependencies 추가:
Spring Web
: REST API 개발용.Spring Data JPA
: 데이터베이스 연동.Spring Boot DevTools
: 개발 편의성 향상.H2 Database
: 임베디드 데이터베이스 (테스트용).Generate 버튼 클릭 후 다운로드.
@SpringBootApplication
포함).localhost:8080
에서 애플리케이션 확인.