장점
(1) 라이브러리 관리 자동화
기존 Spring(전자정부 프레임워크)는 Maven이나 Gradle을 이용해서 라이브러리 의존성을 관리함
But, 스프링 부트는 스타터(Starter)라는 것을 이용해 특정 기능에 필요한 라이브러리 의존성을 처리할 수 있다.
(2) 설정의 자동화
추가된 라이브러리를 기반으로 실행에 필요한 환경을 자동으로 설정해준다.
(3) 라이브러리 버전 자동 관리
스프링의 경우 개발할 때 신경 쓰이는 것이 라이브러리와 버전 관리다.
스프링은 스프링 라이브러리만 사용하여 개발할 수 없으며, 의존관계에 있는 서트파티 라이브러리들도 사용한다.
스프링 라이브러리뿐만 아니라 서드파티 라이브러리들도 호환되는 버전으로 다운로드해준다.
(4) 테스트 환경과 내장 톰캣
스프링 부트롤 생성한 프로젝트에넌 Junit을 비롯한 테스트 관련 라이브러리들이 기본적으로 포함되어 있다.
컨트롤러를 비롯한 다양한 계층의 클래스들에 대해서 테스트 케이스를 쉽게 작성할 수 있다.
그리고 톰캣(Tomcat) 서버를 내장하고 있어서 main() 메소드를 가진 클래스를 실행하는 방식으로 서버를 구동하기 때문에 빠르게 실행 결과를 볼 수 있다.
(5) 독립적으로 실행 가능한 JAR
실제 운영 서버에 배포하기 위해서는 패키징(Packaging)을 해야한다. JAR 파일로 패키징하면 되지만 웹 프로젝트라면 WAR파일로 패키징 해야 한다. WAR가 아닌 JAR 파일로 패키징하여 사용할 수 있다.
※ JAR, WAR 차이가 뭔데?
- WAR : WAR 포맷으로 묶어서 Tomcat 등의 웹 컨테이너(WAS) 에다 넣어서 deploy 하는 식으로 사용한다고 합니다.
- JAR : Maven이나 Gradle이 가져온 라이브러리들이 보여주는 포맷 -> Class파일들이 묶인 jar파일을 가져와서 그 안에 있는 서비스를 이용하는 것
'Spring_SpringBoot > 이론' 카테고리의 다른 글
| SpringBoot 의존성 관리 (0) | 2024.06.03 |
|---|---|
| RestController/Controller (0) | 2024.06.03 |
| 스프링부트의 ComponentScan Bean이해 (0) | 2024.06.03 |
| Spring-Security pom.xml(보완)과 Tomcat (0) | 2024.06.03 |
| 스프링부트 어노테이션 ☏ (0) | 2024.06.03 |