DEVELOPMENT/Spring

[스프링부트 완전정복] 1. 스프링 부트 소개

Tiny Commit 2025. 9. 30. 23:58

 

 

1. 스프링 부트

  • 스프링 부트는 스프링을 기반으로 쉽고 빠르게 애플리케이션을 구축할 수 있는 오픈소스 프레임워크 (스프링 프레임워크의 확장)
  • 의존성 관리 / 배포의 간소화, 개발/단위테스트/통합 테스트의 시간을 줄이는 것이 목표

1. 간편한 애플리케이션 개발

  • 앱을 만들떄 스프링 프레임워크, 웹을 만들떄 스프링 MVC  그러나 스프링은 환경세팅이 오래걸린다. -> 스프링부트 탄생
  • 스프링부트: 스프링 프레임워크 + 웹서버 - XML 설정 파일

더보기

스프링부트

- 종속성 주입 접근 방식 사용

- 강력한 데이터베이스 트랜잭션 관리 기능 포함

- 자바 프레임워크 통합 쉬움

- 개발 시간과 비용이 줆.

- 임베디드 서블릿 컨테이너 포함

 

2. 주요기능

  • 환경설정 자동화: 라이브러리 추가 만으로 필요한 환경 자동 설정
  • 종속성 관리 자동화: maven이나 gradle이 아닌 "starter"을 이용해 필요한 라이브러리 의존성 처리 가능
  • 설정 파일 외부화: XML 코드 외부화 가능 (properties, YAML, 환경 변수 등)
  • 라이브러리 버전 관리 자동화: bulid.gragle에서 의존 관계 라이브러리 버전 자동 다운 및 관리
  • 독립형 애플리케이션 생성: Tomcat에 내장된 JAR로 애플리케이션을 패키징하고 독립적 배포 가능
  • 프로덕션 지원

 

 

2. 스프링부트 vs 스프링 MVC vs 스프링

  • 스프링부트: 스프링의 모든 제공을 제공하면서 설정은 자동화한 프레임워크

1. 자바 플랫폼 개발 프레임워크의 대게, 스프링

  • 스프링은 자바 엔터프라이즈 프레임워크(Java EE)를 단순화하여 경량화한 오픈 소스 프레임워크 
    • 주요기능: 종속성 주입
    • 느슨하게 결합된 애플리케이션을 개발할 수있도록 작업 간소화
  • 스프링부트: RESTful API 개발에 사용, 코드 길이를 줄이고 웹을 개발하는데 쉬운 방법
    • 주요기능은 자동구성하고 요규사항에 따라 클래스 자동 구성
    • 구성이 적은 독립 싱행형 앱을 만드는데 도움

2. MVC 패턴 기반의 웹 프레임워크, 스프링 MVC

  • 모델: 데이터가 들어 있는 객체
  • 뷰: 모델의 정보를 특정 형식으로 나타냅니다. (HTML, JSP)
  • 컨트롤러: 비지니스 로직 포함 (@controller 애너테이션)

 

 

 

 


연습문제

01. 빈칸 채우기

 

스프링 기반 애플리케이션을 쉽고 빠르고 구축할 수 있도록 지원하는 오픈 소스 프레임워크가 스프링 부트입니다.
스프링 부트는 기본적으로 스프링 애플리케이션을 설정하는 데 필요한 XML 환경 구성과 중복성 설정을 제거하여 개발 시간을 절약하고 생산성을 높일 수 있습니다.

 

✔ 핵심: 스프링 부트(Spring Boot) → 설정 간소화 + 생산성 ↑

 

 

02. 스프링 부트의 주요 기능이 아닌 것?

  • 라이브러리 버전 관리 자동화 ❌
    :스프링 부트는 의존성 관리를 해주긴 하지만, 모든 라이브러리 버전을 "자동"으로 다 맞춰주진 않는다.

 

03. 빈칸 채우기

  • 스프링 부트의 스프링 MVC는 모두 스프링 기반의 프레임워크입니다.
  • 스프링 MVC는 자바 기반 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크.
  • 스프링 부트는 웹 애플리케이션 개발에 MVC 패턴을 적용할 수 있도록 제공하는 프레임워크.
  • 즉, 스프링 부트는 기존 스프링 프레임워크 위에 얹혀 있어, 자동 설정 + 빠른 개발을 지원하는 셈이죠.

 

 

04. 스프링 부트의 주된 목표는 개발, 단위 테스트, 통합 테스트에 드는 시간을 줄이는 것. 이를 위해 제공하는 기능 중 옳지 않은 것은?

  • 많은 import문 작성
    : 그건 오히려 개발자들 힘들게 하는 거죠

 

 

05. 스프링과 비교했을 때 차이점이 아닌 것?

  • 최소화된 작업을 수행하기 위해 상용구(boilerplate) 코드를 많이 작성해야 한다. ❌
    : 스프링 부트의 핵심은 오히려 보일러플레이트 코드 최소화입니다.

 


 


출처 : 송미영, 『 스프링부트 완전정복: 개념부터 실정 프로젝트까지 』길벗캠퍼스 (2024).