Dazzling 개발 노트

[Spring] 자바 프레임워크 - 스프링과 스프링부트 비교 본문

Develop/Spring

[Spring] 자바 프레임워크 - 스프링과 스프링부트 비교

dj._.dazzling 2023. 7. 27. 16:42

프레임워크란?

웹 개발에서 프레임워크는 어떠한 목적을 쉽게 달성할 수 있도록 해당 목적과 관련된 코드의 뼈대를 미리 만들어둔 것을 의미한다.

즉, 특정 종류의 소프트웨어를 개발할 때 사용할 수 있는 재사용 가능한 표준 방법을 제공하는 코드의 집합이다.

개발자가 소프트웨어나 애플리케이션을 더 빠르게, 효율적으로 개발할 수 있도록 기본적인 구조를 제공한다.

 

스프링(Spring)이란?

스프링은 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.

엔터프라이즈 급의 애플리케이션을 쉽게 개발할 수 있도록 다양한 기능을 제공한다.

 

이는 강력한 의존성 주입(Dependency Injection)을 기반으로 하여,

애플리케이션의 구성 요소들 간의 결합도를 낮추고, 유지보수 및 테스트가 용이한 애플리케이션을 구축할 수 있다.

 

스프링 프레임워크는 다양한 모듈로 구성되어 있으며, 개발자가 필요에 따라 모듈을 선택하여 사용할 수 있다.

 

 

스프링부트(Spring Boot)란?

스프링부트는 스프링을 사용하여 애플리케이션을 더 쉽고 빠르게 개발할 수 있도록 해주는 도구를 의미한다.

 

스프링부트는 스프링 애플리케이션을 위한 초기 설정 작업을 자동화하고, 애플리케이션을 단독으로 실행할 수 있는 내장 서버를 제공한다.

이를 통해 개발자는 복잡한 설정 없이도 스프링 기반의 애플리케이션을 쉽게 개발, 배포 및 실행할 수 있다.

 

스프링부트는 스프링 프레임워크 위에 구축되어 있으며,

'convention over configuration' (설정보다 관례)의 원칙을 따른다.

 

 

 

스프링과 스프링부트의 차이점

  • 설정의 자동화
    • 스프링은 다양한 설정을 요구하는 반면, 스프링부트는 자동 설정을 통해 빠른 개발과 배포를 가능하게 한다.
  • 내장 서버
    • 스프링부트는 내장 Tomcat, Jetty 또는 Undertow 서버를 제공하여 별도의 웹 서버 설치 없이 애플리케이션을 실행할 수 있다.
  • 독립 실행 가능 애플리케이션
    • 스프링부트는 독립 실행 가능한 스프링 애플리케이션을 생성할 수 있도록 한다. 개발 및 테스트 과정을 간소화할 수 있다.
  • 프로젝트 초기화 도구
    • 스프링부트는 스프링 초기화 (start.spring.io)를 통해 프로젝트를 쉽게 생성하고, 필요한 의존성을 관리할 수 있게 도와준다.

 

 

 

참고

 

https://www.codestates.com/blog/content/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8