hotamul의 개발 이야기

Spring Boot가 뭔데? 본문

dev/Spring-Boot

Spring Boot가 뭔데?

hotamul 2023. 8. 15. 13:44

현재 Spring Boot를 현업에서 메인 기술로서 사용하고 있지만 동작 원리와 사용 방법에 있어서 왜? 어떻게? 라는 궁금증이 자꾸만 생겨 Spring Boot가 무엇인지, 왜 그렇게 동작하는지, Spring과는 어떻게 다른지 초점에서 정리해보고자 한다.

Sprint Boot의 시작

Improved support for 'containerless' web application architectures [SPR-9888] · Issue #14521 · spring-projects/spring-framework

2012년 Spring 프레임워크 프로젝트 이슈로 등록된 "Containerless 웹 개발 아키텍처 지원" 요청에서 논의와 개발이 시작되었다.

(위 issue가 생성되고 약 1년 뒤 아래와 같은 comment가 달렸다)

Phil Webb commented

Rather than fix this as part of the core Spring Framework we have decided to start a new project called Spring Boot that addresses this and a number of other issues.

The GitHub project is at https://github.com/SpringSource/spring-boot and this blog post provides a general overview.

 

 

Spring Boot가 뭔데?

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

https://spring.io/projects/spring-boot 공식 사이트에서는 Spring Boot는 "실무환경에서 사용가능한 수준의" "Spring 기반" "독립실행형 애플리케이션"을 "쉽게" 만들 수 있도록 도와준다 라고 설명하고 있다.

 

그래서 Spring Boot는 Framework인가 Library인가? 토비의 스프링 저자인 이일민님은 Spring Boot를 아래와 같이 정의했다.

 

Spring Application 개발을 도와주는 다양한 도구 모음이자, Spring 자체를 확장하고 있는 Framework 혹은 더 유용한 Library이다.

 

즉 Spring Boot는 추상화된 틀에 맞춰 Spring 애플리케이션을 개발할 수 있게 해주는 Framework이자, 여러가지 유용한 Class를 제공해주는 Library의 특징을 모두 가지고 있는 도구 모음이라고 할 수 있다. 아직 말의 뜻이 정확히 와닿지 않지만 정의가 추상적인 만큼 제공하는 기능이 다양하다는 뜻으로 이해된다.

Comments