HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🛁
공부기록
/SpringBoot/
스프링 부트 살펴보기

스프링 부트 살펴보기

태그
1장
1-1 스프링 부트 소개스프링 부트의 핵심 목표는?1-2 스프링 부트의 역사Containerless ?Opinionated스프링 프레임웤 설계 철학스프링 부트의 설계 철학사용 기술과 의존 라이브러리 결정스프링 부트의 이해
 

1-1 스프링 부트 소개

  • 스프링 부트는 스프링을 기반으로 실무 환경에 사용 가능한 수준의 독립실행형 애플리케이션을 복잡한 고민 없이 빠르게 작성할 수 있게 도와주는 여러가지 도구의 모음이다
 
스프링 ≠ 스프링 부트
 

스프링 부트의 핵심 목표는?

  1. 매우 빠르고 광범위한 영역의 스프링 개발 경험을 제공
  1. 강한 주장을 가지고 즉시 적용 가능한 기술 조합을 제공하면서, 필요에 따라 원하는 방식으로 손쉽게 변형 가능
  1. 프로젝트에서 필요로 하는 다양한 비기능적인 기술(내장형 서버, 보안, 매트릭, 상태 체크, 외부 설정 방식 등)제공
  1. 코드 생성이나 XML 필요없음
 

1-2 스프링 부트의 역사

  • 2012년 스프링 프레임워크 프로젝트에 이슈로 등록된 Containerless 웹 애플리케이션 아키텍처의 지원에서 시작됨
 

Containerless ?

  • 컨테이너리스 웹 애플리케이션 아키텍처를 지원해줬으면 좋겠다는 의견에 스프링 부트가 시작됨
  • Serverless와 유사함
    • Container : 스프링은 IoC Container라고 한다. 즉 여기서 Container는 아래와 같다.
      • Web Client <> Web Component(다이나믹 컨텐츠를 만들어줘야하는 역할)
        • Web Component는 Web Container 안에 있어야함
        • 자바에서는 Web Component = Servlet
        • Servlet을 관리하는게 Servlet Container(톰캣)
          • 특정 서블릿이 처리할 수 있도록 컨테이너에서 매핑(라우팅)해줌
    • 스프링 컨테이너는 뭔가 ?
      • Servlet < > Bean이라고 칭하게 됨
      • 여러개의 빈을 가지고 있는 Spring Container이 뒤에 있음
      • 자바 표준 상 서블릿 컨테이너는 필요함 스프링 컨테이너로 대체할 순 없음
 
 
 

Opinionated

내가 다 정해줄게 일단 개발만 해 !

스프링 프레임웤 설계 철학

  1. 극단적인 유연함 추구
  1. 다양한 관점을 수용
  1. Not opinionated
  1. 수많은 선택지를 다 포용
  1. 하지만 . . .?

스프링 부트의 설계 철학

Opinionated - 자기 주장이 강한, 의견을 고집
일단 정해주는 대로 빠르게 개발하고 고민은 나중에
스프링을 잘 활용하는 뛰어난 방법을 제공함
 

사용 기술과 의존 라이브러리 결정

업계에서 검증된 스프링 생태계 프로젝트, 표준 자바 기술, 오픈소스 기술의 종류와 의존 관계, 사용 버전을 정해줌
각 기술을 스프링에 적용하는 방식(DI 구성)과 디폴트 설정값 제공
 

스프링 부트의 이해