[JAVA] 자바 스프링(Java Spring)와 자바 스프링부트(Java SpringBoot)의 차이점
자바를 공부하는 사람들이 자주 듣는 단어들이 있다.
자바 스프링과 자바 스프링부트이다.
위 두 가지의 차이점은 무엇일까???

먼저 간단하게 설명하자면,
자바 스프링 (Java Spring) :
큰 규모의 프로그램을 개발자들이 더욱 쉽게 만들수 있도록 있게
여러가지 기능들을 넣어놓은 뼈대(프레임워크)
자바 스프링부트(Java SpringBoot) :
위에서 말하는 뼈대(프레임워크)를 개발자들이 더 쉽게 사용할 수 있도록 만든
도구라고 생각하면 쉽다.
이제 조금 더 자세한 설명을 위해 아래로 이동해보자!!!

자바 스프링(Java Spring)
위 이미지에서 보면 자바 스프링에는 아주 다양한 프로젝트들이 존재한다.
몇 개의 프로젝트를 보면,
Spring MVC : MVC 패턴 기반의 웹 프레임워크을 지원하는 프로젝트
Spring Data : 데이터의 영속성을 위해 상용할 수 있는 모듈의 집합을 지원하는 프로젝트
등등 여러가지의 기능들이 존재하는 것을 알 수있다.
자바 스프링 프레임워크(Java Spring Framework)
우리가 흔히 말하는 자바 스프링을 이용하여 개발한다는 것은
자바 스프링 프로젝트중 자바 스프링 프레임워크를 사용한다는 것이고
자바 스프링 프레임워크는 데이터 접근과 웹 사용에 대한 편의성을 제공하며
많은 프로젝트들 사이에서 뿌리와 같은 역할을 하고 있다.
자바 스프링부트(Java SpringBoot)
자바 스프링부트는 자바 스프링 프레임워크를 쉽게 사용하기 위해
내장된 Tomcat, Jetty, Undertow 를 이용해 WAR 배포없이 웹 애플리케이션을 실행하고
많이 사용하는 라이브러리를 모아놓은 Starter POM 파일을 제공하여
쉽게 라이브러리를 관리하여
설정을 최소화하여 개발자의 편의성을 높여준다.