Spring과 Spring Boot의 차이

김휘진·2023년 12월 20일
0

Java

목록 보기
5/5

Spring의 등장

spring 프레임워크와 spring boot가 뭐가 다른거지?

spring이나 spring boot로 개발을하며 위의 질문에 대해 많이들 고민하고 찾아보셨을 것이라고 생각합니다.

이 차이점을 알아보기 위해서는 먼저 spring의 등장 배경부터 알아봐야합니다.

Enterprise Application

엔터프라이즈 애플리케이션이란?
=> 대규모의 복잡한 데이터를 관리하는 애플리케이션

소프트웨어 분야가 발전하면서 대규모의 데이터관리 애플리케이션은 더 복잡해지고 거대해졌습니다.

사용자들이 늘어날수록 많은 요청들을 동시에 처리해야하기 때문에 서버의 성능과 안전성, 보안까지 중요해졌죠.

그리고 개발자들에게는 이런 부분들까지 신경쓰며 기능을 개발하기에 어려움이 따랐습니다.

"이런 엔터프라이즈 애플리케이션 개발을 위한 환경이 있었으면 좋겠다."
"개발자들이 기능 개발에만 집중할 수 있다면 좋겠다"

이런 고충들속에서 나온 것이 바로 스프링 프레임워크입니다.

스프링은 서버 서능, 안정성, 보안이 매우 높은 수준으로 제공되는 도구이죠.

덕분에 개발자들이 기능 개발에 집중할 수 있게 되엇습니다.

Spring Boot의 등장

스프링이라는 유용한 개발환경 제공 프레임워크로 개발자들이 기능 개발에 몰두하기가 쉬워진 것은 사실입니다.

그렇지만 이런 스프링도 단점이 존재했죠.

바로 설정이 매우 복잡하다는 것입니다.

이런 단점을 보완하고자 이후에 나온 것이 스프링 부트입니다.

Spring Boot

스프링 부트는 스프링을 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구입니다.

스프링 프로젝트를 빠르게 설정할 수 있고 의존성을 간편하게 사용하거나 관리할 수 있게 해줍니다.

결국 스프링 부트도 개발자가 기능 개발에 더 집중할 수 있도록 해주는 편리한 도구인 셈이죠.

그렇지만 확실히 짚고 넘어가야 할 부분은 스프링 부트는 스프링을 더 편하게 사용할 수 있도록 해주는 스프링에 속한 도구지, 스프링과 다른 도구는 아닙니다.

이런 스프링 부트의 주요 특징들에는 어떤 것들이 있을까요?

  • 웹 애플리케이션 서버(WAS)가 내장되어 있어서 따로 설치하지 않아도 독립적 실행 가능

  • 빌드 구성을 단순화하는 스프링 부트 스타터 제공

  • XML 설정을 하지 않고 자바 코드로 모두 작성 가능

  • JAR를 이용해 자바 옵션만으로 배포 가능

  • 애플리케이션의 모니터링 및 관리 도구인 Spring actuator를 제공

Spring과 Spring Boot의 차이

1번. 구성의 차이

  • 스프링은 개발에 필요한 환경을 수동으로 구성 및 정의
  • 스프링 부트는 스프링 코어와 MVC의 모든 기능을 자동으로 로드

2번. 내장 WAS의 유무

  • 스프링은 톰캣과 같은 WAS에서 배포됨
  • 스프링 부트는 자체적으로 WAS를 가지고 있기 때문에 jar파일만 만들면 앱 실행 가능

스프링스프링 부트
목적대용량 애플리케이션 개발을 더 쉽게 하기 위함스프링 개발을 더 빠르고 쉽게 하기 위함
설정파일개발자가 수동으로 구성자동 구성
XML일부 파일은 XML로 직접 생성하고 관리사용하지 않음
인메모리 데이터베이스 지원지원X인메모리 데이터베이스 자동 설정 지원
서버톰캣, 제티 등 별도로 수동 설정내장형 서버를 제공해 별도 설정 필요X
profile
Don't give up, I can do (IT)

0개의 댓글