스프링과 스프링 부트의 차이는 무엇인가요?

  • 스프링은 기존 기술의 복잡성을 크게 줄인 프레임워크지만, 개발자가 너무 많은 설정을 직접 해줘야 했다.

    • 톰캣 같은 WAS를 설치하고, war로 빌드하고, war 파일을 WAS에 전달해서 WAS를 실행해야 한다.

    • 개발을 한 번 시작하기 위해서 필요한 모든 라이브러리들과 버전을 직접 명시해 주어야 한다.

    • 또한, 다양한 config를 개발자가 직접 만들어야 했다.

스프링 부트는 기존의 복잡한 설정을 대신 해준다. 즉, 스프링 부트는 스프링으로 애플리케이션을 만들 때 필요한 설정을 간편하게 처리해주는 별도의 프레임워크다.

스프링 부트 특징

  • 내장 서버

    • 웹 서버를 내장하고 있기 때문에 별도의 웹 서버를 설치하지 않아도 된다.

    • war가 아닌 jar 파일이 실행되어 main() 메서드로 바로 실행 가능하다.

  • 라이브러리 관리

    • starter 기본 라이브러리 묶음을 제공하여 의존성 고민을 줄일 수 있다.

    • 스프링 부트는 부트 버전에 맞춘 최적화된 라이브러리 버전을 관리해준다.

  • 자동 구성

    • 스프링 부트는 일반적으로 자주 사용하는 빈들을 자동으로 등록해준다.

      • DataSource, TransactionManager, JdbcTemplate

    • 개발자는 .properties.yml 파일을 이용해 필요한 정보들을 입력만 해주면 스프링 부트가 빈 등록을 해준다.

이 외에도 여러가지 모니터링 툴을 제공하여 안정적인 애플리케이션을 유지하도록 지원한다.

참고

Last updated