쉽게 예시를 들면, 예전에 모든 게임은 설치가 까다롭고 복잡했다. 설치할 때마다 매번 여러 단계를 거쳐야 했기 때문이다. 그러다가 게임회사들이 "자동 설치 프로그램"을 만들어, 복잡한 과정을 한 번에 간단하게 해결할 수 있게 했다. 스프링도 비슷하다. 예전에는 자바로 복잡한 애플리케이션을 만들 때 많은 설정과 코드를 작성해야 했는데, 스프링이 등장하면서 그 복잡한 과정들을 쉽게 처리할 수 있게 해줬다.
스프링은 레고 블록이라 생각하면 쉽다. 내가 원하는 대로 조립해서 무엇이든 만들 수 있지만, 어떤 블록을 어떻게 조립해야 할지 알아야 한다. 이 과정이 복잡하고 시간이 많이 걸릴 수 있다.
스프링부트는 레고 블록을 이용해서 "미리 만들어진 키트"와 같다. 많은 사람들이 자주 만드는 모양의 기본 틀이 준비되어 있어서, 빠르고 쉽게 조립할 수 있다. 이렇게 하면 설정이나 조립에 대해 걱정할 필요가 적다.
스프링은 마치 자동차를 사면서 타이어를 별도로 구매해야 하는 상황이다. 즉, 서버를 따로 설치하고 구성해야 한다.
스프링부트는 타이어가 이미 장착된 자동차를 산 것처럼, 내장 서버(WAS)WAS란?를 가지고 있. 이 서버 덕분에 복잡한 서버 설정 없이도 바로 애플리케이션을 실행할 수 있다.
이렇게 스프링은 애플리케이션을 만드는 데 필요한 많은 도구와 설정을 제공해주고, 스프링부트는 그 과정을 더욱 간단하게 만들어주는 "쉽게 조립할 수 있는 키트" 같은 것이라고 할 수 있다
!