Spring Boot : 스프링 부트 시작하기 - [스프링과 스프링 부트]

손유라·2023년 12월 14일
0

** 해당 게시글은 인프런 김영한님의 [스프링 부트 - 핵심 원리와 활용] 강의를 듣고 작성된 게시글입니다.

이전 회사에서 계속 스프링만 사용하다가, 스프링부트를 다 까먹은 듯한 느낌이 들어, 처음부터 차근차근 다시 배워보기로 하였다.

스프링 부트의 핵심 기능

  1. 내장 서버
    : 톰캣과 같은 별도의 서버를 설치하지 않고 웹 어플리케이션을 개발, 배포할 수 있다.
  2. 자동 라이브러리 관리
    : 수많은 라이브러리를 자동으로 선택해 주고 관리해 준다.
  3. 자동 구성 (Auto Configuration)
    : 복잡한 스프링 설정을 자동화해, 쉽고 빠른 개발을 도와준다.
  4. 외부 설정
  5. 모니터링과 관리 기능

우선 스프링에 대해 알아보자! 스프링의 기능과 장점은?

  1. DI컨테이너, MVC, DB접근 기술 등 수 많은 기능을 제공하고 다양한 문제를 해결
  2. 다양한 라이브러리를 편리하게 사용할 수 있도록 통합
  3. 자바 개발의 생산성이 높아짐

스프링이 이렇게 편리하기 때문에, 스프링 프레임워크의 확대가 일어난다.
그 여파로...?

  • 스프링과 그 생태계가 점점 커짐
  • 스프링의 기능도 점점 많아짐
  • 다양한 오픈 소스의 등장으로 수 많은 라이브러리를 함께 사용해야 함
  • 스프링으로 프로젝트를 시작할 때 필요한 설정이 점점 늘어남
  • 스프링으로 프로젝트를 시작하는 것이 점점 어려워짐
  • 시작도 하기 전에 복잡한 설정 때문에 포기하게 됨
  • 스프링 설정 지옥!!!

이 지옥을 해결하기 위해! 스프링 부트가 등장한다.
스프링 부트란?

  • BOOT, 부팅
    - 최소한의 인간 개입으로 시작하고 완전히 작동하는 것을 의미
    - 어떤 일을 시작하기 위해 필요한 모든 준비를 마친다는 의미
  • 시작을 위한 복잡한 설정 과정은 스프링 부트가 해결
  • 개발자는 새로운 스프링 애플리케이션을 쉽고 빠르게 시작할 수 있다
  • 스프링을 편리하게 사용할 수 있도록 지원
  • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
  • 관례에 의한 간결한 설정

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

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

그럼 스프링과 스프링 부트는?!

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

스프링 부트를 배워야 하는 이유?

  • 스프링 부트는 편리하지만, 너무 많은 것을 자동화
    하지만, 문제가 생겼을 때 자동화 되는 부분이 많다 보면 어느 부분이 문제인지 알 수 없을 수가 있다.
  • 최소한 스프링 부트가 어떤 원리로 작동하는지 알아두어야 한다.
  • 그래야 문제가 발생했을 때 해결이 가능하다.
  • 스프링 부트는 수많은 편의 기능들을 제공한다!
    예를 들어 외부 설정이나, 액츄에이터를 통한 모니터링 관리 기능
  • 고로, 개발 시간이 단축된다.
profile
유라라랜드에 오신 것을 환영합니다!

0개의 댓글

관련 채용 정보