본문 바로가기

spring(스프링)

[spring(스프링)] 스프링과 스프링부트의 차이? _디버깅의 눈물

스프링(Spring)

 

스프링(Spring)은 자바 언어를 기반으로 한 프레임워크로, 기업용 애플리케이션 개발에 많이 사용됩니다. 스프링은 IoC(Inversion of Control, 제어의 역전)와 DI(Dependency Injection, 의존성 주입) 개념을 바탕으로 만들어졌으며, AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)과 같은 고급 기술을 지원합니다.

 

 

스프링 부트(Spring boot)

 

스프링 부트(Spring boot)는 스프링의 기능을 보다 쉽게 사용하고자 만들어진 도구입니다. 스프링 부트는 자동설정(AutoConfiguration)과 스타터(Starter) 등을 제공하여, 개발자가 애플리케이션의 환경설정 등에 많은 시간을 들이지 않고 빠르게 개발을 할 수 있또록 도와줍니다. 또한, 스프링 부트는 내장형 서버(Embedded Server)를 제공하여, 서버 설정 등에 대한 번거로움도 줄여줍니다.

 

 

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

 

1. 설정 방식의 차이

스프링 : XML 또는 자바 코드를 이용하여 설정을 작성

스프링 부트 : 자동설정(AutoConfiguration) 및 프로퍼티 파일을 이용하여 설정을 작성

 

2. 의존성 관리 방식의 차이

스프링 : 개발자가 직접 의존성을 관리

스프링 부트 : *스타터(Starter)를 이용하여 필요한 의존성을 자동으로 추가

 

3. 내장형 서버의 존재 여부

스프링 : 내장형 서버를 사용하지 않음

스프링 부트 : 내장형 서버(Tomcat, Jetty 등)를 제공

 

 

 

*Spring Starter는 의존성 관리 도구입니다. 스프링 부트 프레임워크를 사용하여 웹 애플리케이션을 시작하기 위해 필요한 기본 설정, 의존성, 구성 등이 미리 설정되어 있습니다.

 

*의존성 관리 도구란 애플리케이션에서 사용하는 라이브러리 및 프레임워크와 같은 의존성들을 관리하는 도구입니다. 스프링 부트는 메이븐(Maven)이나 그래들(Gradle)과 같은 의존성 관리 도구를 지원합니다.