
Spring을 사용하다 보면 자연스럽게 이런 표현들을 섞어 쓰게 됩니다.
“Spring으로 개발한다”
“Spring Boot 프로젝트다”
“Spring Framework 기능이다”
하지만 이 세 가지는 같은 말이 아니고, 개념 레벨도 다릅니다.
이 글에서는 Spring → Spring Framework → Spring Boot를 하나의 흐름으로 정리합니다.
Spring은 특정 라이브러리나 도구 이름이 아니라,
애플리케이션 설계를 위한 철학에 가깝습니다.
이를 위해 Spring은 다음 개념을 중심으로 설계되었습니다.
객체의 생성과 의존성 관리를 개발자가 아닌 컨테이너가 담당한다는 개념
즉, Spring = 객체를 어떻게 만들고 연결할 것인가에 대한 설계 철학
Spring Framework는 위에서 말한 Spring 철학을 실제로 구현한 프레임워크입니다.

보통 “전통적인 Spring”이라고 부르는 것이 바로 Spring Framework입니다.
Spring Boot는 Spring Framework를 쉽고 빠르게 사용하기 위한 도구입니다.
“Spring 애플리케이션을 설정 없이, 바로 실행 가능하게 만들자"
gradle spring-boot-starter-web
Spring (설계 철학) → 객체 관리와 의존성 설계에 대한 철학
└─ Spring Framework (구현체) → Spring 철학을 구현한 핵심 프레임워크
└─ Spring Boot (자동화 & 생산성) → Spring Framework를 빠르게 사용하기 위한 자동화 도구