Spring Boot

[Spring Boot] 스프링 프레임워크 vs 스프링 부트

jjuya 개발 기록 2024. 5. 7. 15:42

Spring Framework vs Spring Boot

Spring Framework

자바 언어 기반의 프레임워크로,

자바 언어의 가장 큰 특징인 객체 지향 언어의 장점을 살려 애플리케이션 개발을 할 수 있게 도와주는 프레임워크

 

Spring Boot 

스프링 프레임워크 기반 전반적인 스프링 기술들의 설정, 버전 관리를 알아서 해주고,내장서버(톰켓)을 제공 해 도와주는 개발자들이 개발에만 집중하도록 도와주는 프레임워크

 

 

스프링부트의 특징

의존성 관리

스프링 프레임워크에서는

개발에 필요한 각 모듈의 의존성을 직접 설정해야 했습니다

호환되는 버전 또한 명시해야 정상 작동이 되었습니다

이와 같은 불편함을 해소하기 위해 'spring-boot-starter'라는 의존성을 제공합니다.

💡'spring-boot-starter' 라이브러리 종류

spring-boot-starter-web
스프링 MVC를 사용하는 RESTful 애플리케이션을 만들기 위한 의존성
기본적으로 내장 톰캣이 내장되어 있어 jar 형식으로 실행 가능
spring-boot-starter-test
JUnit, Jupiter, Mockito 등의 테스트용 라이브러리 포함
spring-boot-starter-jdbc
HikariCP 커넥션 풀을 활용한 jdbc 기능 제공
spring-boot-starter-security
스프링 시큐리티(인증, 권한, 인가 등) 기능을 제공
spring-boot-starter-data-jpa
하이버네이트를 활용한 JPA 기능을 제공
spring-boot-starter-cache
스프링 프레임워크 캐시 기능 제공

 

자동 설정

스프링 부트는 스프링 프레임워크의 기능을 사용하기 위한 자동 설정을 지원합니다

자동 설정은 애플리케이션에 추가된 라이브러리를 실행하는데 필요한 환경설정들을 알아서 찾아줍니다

스프링 부트에서는 @EnableAutoConfiguration 또는 @SpringBootApplication 중 하나만 사용하면 자동 환경설정이 가능하다!!

@SpringBootApplication = (@Configuration + @EnableAutoConfiguration + @ComponentScan)

 

내장 WAS

스프링 부트의 각 애플리케이션에는 내장 WAS(Web Application Server)가 존재한다

spring-boot-starter-web 여기에 기본적으로 내장 톰캣이 내장되어 있어 jar 형식으로 실행 가능