SPRING

[SPRING] 스프링 vs 스프링 부트

혀내 2022. 7. 4. 19:15
반응형

스프링(Spring)이란

 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 간단히 줄여 '스프링'이라고 부른다. 스프링은 웹 서비스 개발에 필요한 여러 서비스들을 제공하고 있으며 다음과 같이 여러 가지의 기술 모듈로 구성되어 있다.

  • Spring Data
  • Spring Session
  • Spring Security
  • Spring Rest Docs
  • Spring Batch
  • Spring Cloud

 

 이 중 필요한 모듈만 프로젝트에 불러와 사용하면 되는데, 이렇게 번거로운 프로젝트 초기화 과정을 넘기고 처음부터 실행 가능한 웹 서버를 생성해 기술을 편리하게 사용하도록 도와주는 기술이 바로 스프링 부트다. 우리는 스프링 프레임워크로 번거롭게 서버를 세팅할 필요 없이 스프링 부트 하나만 사용하면 된다는 뜻!

 

 

스프링 프레임워크의 특징은 다음과 같다.

 

  • 스프링이 직접 자바 객체를 관리해 객체 지향 애플리케이션을 개발할 수 있도록 도와준다.
  • IoC를 지원한다. (IoC: Inversion of Control)
  • 의존성 주입(DI: Dependency Injection)을 지원한다.
  • 관점 지향 프로그래밍(AOP: Aspect-Oriented Programming)을 지원한다. 
  • MVC 패턴을 사용한다.
  • 추상화된 트랜잭션 관리를 지원하며 XML 파일 등을 이용해 설정할 수 있다.
  • JDBC, ORM 등 데이터베이스 접근 기능을 제공한다.
  • 배치 프레임워크를 제공한다.
  • 언어로는 그루비(자바 닮은 꼴) 또는 코틀린을 사용한다.

 


 

스프링 부트란?

 스프링 프레임워크를 더 편리하게 사용할 수 있도록 지원하는 모듈이다. 최근에는 스프링 기반 웹 서버를 개발할 때 기본적으로 사용된다고 한다. 스프링 부트의 특징은 다음과 같다.

 

  • 단독으로 실행할 수 있는 웹 프로그램을 쉽고 빠르게 생성한다.
  • Tomcat과 같은 WAS 서버가 내장되어 있어서 별도의 웹 서버를 설치하지 않아도 된다.
  • starter 종속성을 제공해 라이브러리를 쉽게 관리할 수 있다.
  • 스프링이 의존하는 외부 라이브러리를 자동으로 구성하고 관리한다.
  • JAR 파일을 패키징해 웹 어플리케이션을 독립적으로 실행시킬 수 있다.
  • 관례에 의한 간결한 설정만 필요하다.

 

반응형