Spring 그리고 Spring Boot
2024. 1. 30. 20:30ㆍ백엔드/Spring Boot
자바로 API 만드실 때 스프링/스프링 부트를 많이 쓰실 텐데요! 다들 스프링과 스프링 부트의 차이! 알고 계신가요?
오늘은 스프링과 스프링 부트의 차이점에 대하여 알아보겠습니다🔥
# Spring(Spring Framework)
- 자바 언어로 개발된 애플리케이션을 구축하기 위한 오픈 소스 프레임워크
- 경량 컨테이너, 의존성 주입, 관점 지향 프로그래밍, 웹 개발 등의 기능을 제공하여 효율적으로 애플리케이션 개발 가능
- 경량 컨테이너 : 객체의 생성과 생명주기를 관리하는데 도움을 주는 프레임워크
- 의존성 주입(Dependency Injection) : 객체가 필요로 하는 의존성을 외부에서 주입하여 결합도를 낮추는 디자인 패턴
- 관점 지향 프로그래밍(AOP) : 비즈니스 로직을 모듈화하여 코드 중복을 줄이는 프로그래밍 접근 방식
- JDBC, JPA, Hibernate, RESTful 웹 서비스 등 다양한 기술과의 통합을 지원하여 개발 생산성을 높여 유지 보수성 향상
- 내장 서버를 제공하지 않아 별도의 서버에 수동으로 배포해야 한다는 문제점과, 다양한 의존성을 포함하고 있어 프로젝트의 복잡성이 증가된다는 단점 존재
# Spirng Boot
- 스프링 프레임워크의 기능을 확장하여 쉽게 스프링 기반의 애플리케이션을 개발할 수 있도록 개발된 프레임워크
- 스프링 부트는 Convention over Configuration 원칙을 따르며, 자동 구성(Auto Configuration)을 통해 개발자가 별도의 설정 없이도 기본적인 애플리케이션을 빠르게 구축할 수 있도록 지원
- 내장 서버를 제공하여 애플리케이션을 독립적으로 실행하고 배포 가능
- 일부 의존성의 버전을 자동으로 업데이트하여 의존성 간의 충돌이 발생 할 수 있음
- 대규모 애플리케이션의 경우 외부 서버를 사용해야 함
# Spring VS Spring Boot 의 차이점을 정리해보자
Spring Framework | Spring Boot | |
초기 학습 난이도 | 어렵다 | 쉽다 |
배포 방식 | WAR 파일을 빌드하고 외부 서버에 배포 | 내장 서버를 제공하여 독립적으로 배포 가능 |
의존성 관리 | 모든 의존성을 수동으로 관리 | 자동으로 일반적인 의존성을 제공하고 의존성 관리를 단순화 |
초기 설정 | 초기 설정 및 구성이 복잡함 | 자동 구성을 통해 설정을 단순화 |
'백엔드 > Spring Boot' 카테고리의 다른 글
Spring boot API 프로젝트에 FCM 적용하기 (0) | 2025.02.15 |
---|---|
Spring boot에 Swagger 적용하기 (0) | 2024.02.23 |
Spring boot Exception Handling (1) | 2024.01.17 |
Spring Validation(유효성 검사)에 대하여 알아보기 (0) | 2024.01.15 |
롬복 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor 어노테이션 알아보기 (1) | 2024.01.15 |