Spring

[Spring] Spring과 SpringBoot의 차이

leevigong 2025. 10. 26. 23:00
반응형

Spring

  • 흔히 Spring이라 부르지만 Spring Framework가 정확한 표현이다.
  • 자바 엔터프라이즈 개발을 지원하기 위한 대규모 오픈 소스 애플리케이션 프레임워크다.

핵심 특징

  • IoC/DI
  • AOP
  • PSA
  • POJO

문제점

Spring Framework를 사용하기 위해 다양한 설정을 개발자가 수동으로 직접 구성해야하며 초기 시작에 시간이 많이 걸린다.

  • 설정 파일 작성을 통한 스프링 컨테이너 구성
  • Bean 객체 등록
  • DB 연결
  • 웹 어플리케이션 구축을 위해 별도의 WAS 설치 등

SpringBoot

Spring의 문제점을 해결해주고 쉽고 빠르게 Spring 기반 애플리케이션을 개발할 수 있도록 도와주는 도구다.

주요 특징

  • 자동 설정(Auto Configuration)
    • SpringBoot는 애플리케이션의 설정을 자동으로 구성한다.
    • @EnableAutoConfiguration, @SpringBootApplication 어노테이션을 통해 자동 설정을 활성화한다.
  • Starter 의존성 제공
    • 특정 기능을 쉽게 추가할 수 있도록 여러 개의 라이브러리와 의존성을 하나의 패키지로 묶어 제공하는 starter 의존성 통합 모듈을 제공한다.  
    • 예시
      • spring-boot-starter-web (웹 애플리케이션)
      • spring-boot-starter-data-jpa (JPA/Hibernate)
      • spring-boot-starter-security (보안)
      • 등등…
  • 내장 서버
    • Tomcat, Jetty, Undertow와 같은 내장 웹 서버를 제공하여, 애플리케이션을 독립 실행형 JAR 파일로 배포하고, 바로 실행할 수 있게 한다.
    • War 파일을 생성해서 Tomcat에 배포할 필요 없으며, JAR 파일에는 모든 의존성 라이브러리가 포함되어 있어 외부 서버 없이도 애플리케이션을 실행할 수 있다.

공식문서

반응형