스프링 부트(Spring Boot) 소개

현서황·2024년 10월 2일

스프링 프레임워크

  • DI 컨테이너, MVC, DB 접근 기술 등 수 많은 기능을 제공하고 다양한 문제 해결
  • 다양한 라이브러리들을 편리하게 사용할 수 있도록 통합
  • 개발자의 생산성이 높아짐, 사용범위 확대
  • 자바 생태계의 사실상 표준 프레임워크
  • 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트
  • 웹 기술: 스프링 MVC, 스프링 WebFlux
  • 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원
  • 기술 통합: 캐시, 이메일, 원격접근, 스케줄링
  • 테스트: 스프링 기반 테스트 지원
  • 스프링과 그 생태계가 점점 커짐
  • 스프링의 기능도 점점 많아짐
  • 다양한 오픈 소스의 등장으로 수 많은 라이브러리를 함께 사용해야함
  • 스프링으로 프로젝트를 시작할 때 필요한 설정이 점점 늘어남
  • 스프링으로 프로젝트를 시작하는 것이 점점 어려워짐
  • 시작도 하기 전에 복잡한 설정 때문에 포기

스프링 부트

스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
관례에 의한 간결한 설정

스프링 부트 - 핵심 기능 5가지

  1. WAS: Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
  2. 라이브러리 관리
    손쉬운 빌드 구성을 위한 스타터 종속성 제공
    스프링과 외부 라이브러리의 버전을 자동으로 관리
  3. 자동 구성: 프로젝트 시작에 필요한 스프링과 외부 라이브러리의 빈을 자동 등록
  4. 외부 설정: 환경에 따라 달라져야 하는 외부 설정 공통화
  5. 프로덕션 준비: 모니터링을 위한 메트릭, 상태 확인 기능 제공

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

• 스프링 부트는 스프링 프레임워크를 쉽게 사용할 수 있게 도와주는 도구일 뿐이다!
• 본질은 스프링 프레임워크
• 하지만 스프링 부트가 제공하는 편의 기능이 너무 막강해서 스프링 부트 사용은 필수

스프링 부트는 편리하지만, 너무 많은 것을 자동화
최소한 스프링 부트가 어떤 원리로 작동하는지 알아두어야 함

profile
노는 게 제일 좋은 뽀로로

0개의 댓글