본문 바로가기
Java

스프링과 스프링 부트의 차이

by yapdol 2023. 8. 8.

 

 

 

스프링과 스프링 부트에 대해 알고 있긴하지만, 이 둘의 차이점을 정확히 정리해보고자 이번 포스팅을 준비했다.  스프링과 스프링부트 각각의 개념 및 차이점에 대해 알아보자.

 

 

 

 

스프링

: 대규모의 복잡한 데이터를 관리하는 엔터프라이즈 애플리케이션을 위한 개발 환경을 제공하기위해 등장한 도구.

-  장점 : 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구. 개발자들이 기능 개발에만 집중할 수 있도록 도움. 

- 단점 : 설정이 매우 복잡함.

 

 

 

 스프링 부트

: 스프링 부트의 단점(복잡함)을 보완하기 위해 출시된 도구. 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구.

빠르게 스프링 프로젝트를 설정할 수 있고 의존성 세트라 불리는 스타터를 사용해 간편하게 의존성을 사용하거나 관리할 수 있음.

📌 주요특징 

-  톰캣, 제티, 언더토우 같은 *웹 애플리케이션 서버(WAS)가 내장되어 있어 따로 설치 하지않아도 독립적 실행 가능 

-  스프링 부트 스타터 제공 : 빌드 구성 단순화.

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

- JAR을 이용해서 자바 옵션만으로도 배포 가능

- 스프링 액츄에이터(spring actuator) 제공 : 애플리케이션 모니터링 및 관리 도구.

 * 웹 애플리케이션 서버(WAS) : 웹 애플리케이션을 실행하기 위한 장치.

 

 

 

 프레임워크와 라이브러리 차이

📌구성의 차이 

-  스프링 : 개발 환경을 수동으로 구성 및 정의.

-  스프링 부트 : 개발 환경 자동 구성(스프링 코어와 스프링MVC의 모든기능이 자동으로 로드됨)

 

📌내장 WAS 의 유무 

-  스프링 :  스프링 애플리케이션은 일반적으로 WAS에서 배포되지만,  톰캣과 같은 WAS 가 내장되어있지 않음.

-  스프링 부트 :  WAS파일을 자체적으로 가지고 있어, jar파일만 만들면 WAS를 설정하지 않아도 애플리케이션 실행 가능.

 

  스프링 스프링 부트
목적 엔터프라이즈 애플리케이션 개발을 더 쉽게 만들기 스프링의 개발을 더 빠르고 쉽게 하기
설정 파일 개발자가 수동 구성 자동 구성
XML 일부 파일은 XML로 직접 생성·관리 사용 X
인메모리 데이터베이스 지원 지원하지 않음 인메모리 데이터베이스 자동 설정 지원
서버 프로젝트를 띄우는 서버 별도 수동 설정
(ex. 톰캣, 제티)
내장형 서버를 제공해 별도 설정 필요X

 

 

 

 

 

 

 

 

 

출처: 스프링 부트 3 백엔드 개발자 되기: 자바 편

https://product.kyobobook.co.kr/detail/S000201766024

 

스프링 부트 3 백엔드 개발자 되기: 자바 편 | 신선영 - 교보문고

스프링 부트 3 백엔드 개발자 되기: 자바 편 | ★ 자바 백엔드 개발자가 되고 싶다면 ★ 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은

product.kyobobook.co.kr