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 형식으로 실행 가능
'Spring Boot' 카테고리의 다른 글
[Spring Boot] @RestControllerAdvice를 이용한 Spring 예외처리 (0) | 2024.05.21 |
---|---|
[Spring Boot] @Component 어노테이션 (0) | 2024.05.20 |
[Spring Boot] @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor (0) | 2024.05.15 |
[Spring Boot] Spring JPA + Query DSL (0) | 2024.05.13 |
[Spring Boot] 스프링부트란? (0) | 2024.05.07 |