스프링 부트 vs 스프링 프레임워크


스프링 프레임워크 vs 스프링 부트

  • 스프링 프레임워크는 기존 개발 방식의 문제와 한계를 극복하기 위해 다양한 기능 제공

  • 하지만 기능이 많은 만큼 설정이 복잡

  • 이러한 문제를 해결하기 위해 등장한 스프링 부트

  • 스프링 프레임워크는 각 모듈의 의존성과 버전을 직접 설정해야 했음

  • 스프링 부트는 ‘spring-boot-starter’라는 의존성 제공

    • spring-boot-starter-web : 스프링 MVC를 사용하는 RESTful 애플리케이션을 만들기 위한 의존성, 기본적으로 내장 톰캣이 포함되어 jar 형식으로 실행 가능

    • spring-boot-starter-test : JUnit Jupiter, Mockito 등의 테스트용 라이브러리 포함

    • spring-boot-starter-jdbc : HikariCP 커넥션 풀을 활용한 JDBC 기능 제공

    • spring-boot-starter-security : 스프링 시큐리티 기능 제공

    • spring-boot-starter-data-jap : 하이버네이트를 활용한 JPA 기능 제공

    • spring-boot-starter-cache : 스프링 프레임워크의 캐시 기능 지원

  • 스프링 부트는 스프링 프레임워크의 기능을 사용하기 위한 자동 설정(Auto Configuration) 지원

  • 애플리케이션을 개발하는 데 필요한 의존성을 추가하면 프레임워크가 자동으로 관리

  • 스프링 부트의 각 웹 애플리케이션에는 내장 WAS(Web Application Server) 존재, 특별한 설정 없이 톰캣 실행 가능

  • 스프링 부트 액추에이터(Spring Boot Actuator)로 해당 시스템이 사용하는 요소들을 모니터링