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 파일을 패키징해 웹 어플리케이션을 독립적으로 실행시킬 수 있다.
- 관례에 의한 간결한 설정만 필요하다.
반응형