Taking baby-developer steps

스프링과 스프링부트 비교 본문

CS 지식/Web

스프링과 스프링부트 비교

Surin Lee 2023. 11. 15. 19:58

엔터프라이즈 애플리케이션이란?

 대규모의 복잡한 데이터를 관리하는 애플리케이션을 말한다. 예시로 은행 시스템을 생각해보자. 동시에 몇 백만, 몇 천만의 사람이 한꺼번에 잔고를 조회하고, 입금, 출금 요청을 한다. 엔터프라이즈 애플리케이션은 많은 사용자의 요청을 동시에 처리해야한다. 따라서 서버 성능과 안정성, 보안이 매우 중요하다. 이것을 신경 쓰며 사이트 기능, 비즈니스 로직까지 개발하기는 매우 어렵다.

스프링의 등장

 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구. 이 덕에 개발자들은 기능 개발에 집중할 수 있게 됐다. 장점이 많은 개발 도구이지만 설정이 매우 복잡하다. 그래서 스프링 개발팀에서도 이런 단점을 인식하고 단점을 보완하고자 스프링 부트를 출시했다. 

스프링 부트

 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구. 빠르게 스프링 프로젝트를 설정할 수 있고 의존성 세트라는 스타터를 사용해 간편하게 의존성을 사용하거나 관리할 수 있다. 스프링 부트는 스프링에 속한 도구이다. 다만 개발 시 몇가지 차이점이 있다.

스프링과 스프링 부트 개발 차이점

1. 구성의 차이

 스프링은 애플리케이션 개발에 필요한 환경을 수동으로 구성하고 정의해야 한다.

 스프링부트는 스프링 코어와 스프링 MVC의 모든 기능을 자동으로 로드하므로 수동으로 개발 환경을 구성할 필요가 없다.

2. 내장 WAS의 유무

 WAS란 웹 애플리케이션을 실행하기 위한 장치라고 이해하면 된다. 스프링 애플리케이션은 보통 톰캣같은 WAS에서 배포된다.

 스프링 부트는 WAS를 자체적으로 가지고 있다. jar 파일만 만들면 별도로 WAS를 설정하지 않아도 애플리케이션을 실행할 수 있다. 내장 WAS로는 톰캣, 제티. 언더토우가 있으며 필요한 WAS를 선택 할 수 있다.

3. 그 외의 차이

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

 


참고 문헌 : 스프링부트3 백엔드 개발자 되기

Comments