본문 바로가기

학습 기록/스프링 부트3 백엔드 개발자 되기[자바편]

[02장.1] 스프링과 스프링부트

1. 스프링의 등장

엔터프라이즈 애플리케이션 : 대규모의 복잡한 데이터를 관리하는 애플리케이션으로 사용자의 요청을 동시에 처리해야 하기에 서버 성능과 안정성, 보안이 매우 중요

스프링 프레임워크는 엔터프라이즈 애플리케이션에서 필요한 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구

 

2. 스프링을 더 쉽게 만들어주는 스프링 부트

스프링은 장점이 많은 개발 도구이지만 설정이 매우 복잡하기에 스프링 부트를 출시

스프링 부트는 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구로, 빠르게 스프링 프로젝트를 설정할 수 있고 의존성 세트라고 불리는 스타터를 사용해 간편하게 의존성을 사용하거나 관리 가능 하여, 비즈니스 로직 개발에만 집중할 수 있도록 만들어주는 도구

 

스프링 부트 주요 특징

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

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

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

4) JAR를 이용해서 자바 옵션만으로도 배포가 가능

5) 애플리케이션의 모니터링 및 관리 도구인 스프링 액츄에이터를 제공

 

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

1) 구성의 차이

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

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

 

2) 내장 WAS 유무

스프링 : 톰캣과 같은 WAS에서 배포

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

 

* WAS : 웹 애플리케이션을 실행하기 위한 장치

 

3) 목적

스프링 : 엔터프라이즈 애플리케이션 개발을 더 쉽게 만들기

스프링 부트 : 스프링의 개발을 더 빠르고 쉽게 하기

 

4) 설정 파일

스프링 : 개발자가 수동으로 구성

스프링 부트 : 자동 구성

 

5) XML

스프링 : 일부 파일은 XML로 직접 생성하고 관리

스프링 부트 : 사용하지 않음

 

6) 인메모리 DB 지원

스프링 : 지원하지 않음

스프링 부트 : 인메모리 데이터베이스 자동 설정 지원

 

7) 서버

스프링 : 프로젝트를 띄우는 서버를 별도로 수동 설정

스프링 부트 : 내장형 서버를 제공해 별도의 설정이 필요 없음