1. Spring boot란 ?


Spring Framwork 기반 프로젝트를 복잡한 설정없이 쉽고 빠르게 만들 수 있는 라이브러리다. 개발자가 하나하나 모든 설정을 하지 않아도 자주 사용되는 기본 설정을 알아서 해준다. 스프링 부트는 실행만 하면 스프링기반 사용화가 가능한 애플리케이션을 쉽게 만들기 위해 단독 실행 가능하도록 해주는 스프링 프로젝트이다. 스프링 부트는 스프링을 쉽게 사용할 수 있도록 필요한 여러가지 복잡한 설정을 대부분 미리 세팅 해놓았을 뿐 아니라 WAS도 별도의 설정없이 바로 웹개발에 들어갈 수 있도록 만들어 놓은게 Springboot 이다.

2. Spring boot를 사용하는 이유


Spring framework를 사용하기 위해서는 필수 설정파일(Web.xml, rootContext.Xml,ServletContext.xml 등등..) 을 작성해야하는데 사실상 이 모든 설정들을 하기엔 불가능 하기 때문에 기존의 사용설정을 복붙 하거나 개발자가 일일히 검색을 통해 설정해주어야 했다. 이는 생산성이 떨어져 비용문제로 직결되었는데 스프링부트가 나오고 사용하면서 복잡한 설정 없이 쉽고 빠르게 스프링프레임워크를 사용할 수 있다.

3. Spirng boot 장점


  • 라이브러리 관리 자동화 스프링부트의 Starter 라이브러리를 등록해서 라이브러리 의존성을 간단히 관리할 수 있다.

  • 라이브러리 버전 자동관리 기존에 사용하던 스프링 라이버르리는 버전을 직접 입력해야 했지만, 스프링 부트는 pom.xml에 스프링 부트 버전을 입력해놓으면 Spring 라이브러리 뿐만 아니라 third party 라이브러리들도 호환되는 버전으로 알아서 다운로드 관리해준다.

  • 설정 자동화 스프링부트는 어노테이션을 선언해서 스프링에서 자주 사용했던 설정들을 알아서 등록해준다. 이 기능이 스프링 부트의 마법이라고 불란다고 한다.

  • 내장 웹서버 제공 (Tomcat) 과거의 스프링 프레임워크는 서버를 배포하기 위해 톰캣과 같은 별도의 외장 웹서버를 설치하고, war 파일을 생성하여 배포해주어야 했는데, 이러한 방식은 상당히 많이 번거롭고 처리하는 속도도 느렸는데, 스프링 부트는 내장 웹서버(톰캣 , 리액터 네티)을 가지고 이썽서 별도의 작업 없이 빠르게 서버를 실행할 수 있도록 도와준다.

  • 독립적으로 실행가능함 JAR 개발 가능 웹 프로젝트라면 war파일을 만들어 외장 웹서버에 배포해야 했다, 하지만 스프링 부트는 순수 자바 애플리케이션 프로그램을 실행하는 것처럼 스프링부터 역시 jar 파일로 패키징해서 웹 어플리케이션을 실행에 상당한 편리성을 제공해주고 있다.