Spring, SpringBoot, SpringMVC

ejoo·2024년 4월 19일

Spring, SpringBoot, SpringMVC

스프링(Spring), 스프링 부트(Spring Boot), 그리고 스프링 MVC(Spring MVC)는 모두 자바(JAVA) 기반의 프레임워크로, 웹 및 엔터프라이즈 애플리케이션 개발에 널리 사용된다.
이들은 서로 관련이 있으면서도 각기 다른 목적과 기능을 제공한다.

1. Spring

종합적인 프로그래밍 및 구성 모델을 제공하는 오픈 소스 애플리케이션 프레임워크다. 객체 지향 프로그래밍을 기반으로 하는 복잡한 자바 애플리케이션을 위한 강력한 인프라를 지원한다.

  • 의존성 주입(Dependency Injection, DI), 제어 반전(IoC)과 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP)을 중심으로 한다.
  • 데이터 접근, 트랜잭션 관리, 웹 애플리케이션 개발, 보안 등 다양한 엔터프라이즈 레벨의 서비스를 제공한다.
  • 유연성이 높고 확장 가능하며, 다양한 환경에서 사용할 수 있다.

2. Spring Boot

스프링 기반의 애플리케이션을 빠르고 쉽게 개발할 수 있도록 도와주는 도구다. 스프링 프레임워크 위에서 동작한다.

  • 복잡한 구성을 요구하는 스프링의 설정을 최소화하여, 개발자가 빠르게 착수할 수 있도록 돕는다.
  • 내장 서버를 제공하여, 별도의 웹 서버 설치 없이 개발한 애플리케이션을 실행할 수 있다.
  • 스프링 프레임워크의 모든 기능을 포함하고, 그 위에 자동 구성, 애플리케이션 모니터링 및 운영을 쉽게 하는 여러 기능을 추가한다.
  • 간단한 스프링 기반 애플리케이션이나 RESTful 서비스를 개발하려는 경우 사용하는 것이 좋다.

3. Spring MVC

스프링 프레임워크의 일부로, 모델-뷰-컨트롤러(Model-View-Controller) 디자인 패턴을 사용하는 웹 애플리케이션을 구축하기 위한 Web MVC 프레임워크

  • HTTP 요청을 처리하고 응답을 제어하는 컨트롤러를 통해 웹 애플리케이션을 관리한다.
  • 뷰 리졸버, 모델 맵, 컨트롤러 등 웹 애플리케이션 구성에 필요한 여러 컴포넌트를 제공한다.
  • 스프링의 다른 기능들과 통합하여 사용할 수 있으며, JSON/XML 응답을 생성하고 RESTful 서비스를 쉽게 구현할 수 있다.
  • MVC 아키텍처를 사용하여 웹 애플리케이션을 개발하는 데 집중이 가능하다.

SpringBoot와 SpringMVC의 차이점

SpringBoot
스프링 기반 응용 프로그램을 합리적인 기본값으로 패키징하기 위한 스프링 모듈
스프링 기반 프레임워크를 구축하기 위한 기본 구성을 제공
자동으로 빌드, 배포 구성
개발 시간을 단축하고 생산성 향상

SpringMVC
Spring 프레임워크의 Model-View-Controller 기반 웹 프레임워크
웹 응용 프로그램을 빌드하는 데 사용할 수 있는 기능 제공
수동으로 빌드, 배포 구성
각 종속성을 별도로 지정

참고
Spring Boot : Spring, Spring MVC와 차이점, 설명, 개요

profile
안녕하세요

0개의 댓글