💡 스프링 부트(Spring Boot)가 무엇인지?
스프링 프레임워크(Spring Framework)와 어떤 차이가 있는지 알아보자.
스프링 프레임워크(Spring Framework)란?
💡 Java 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로, 간단히 스프링(Spring)이라고도 불린다.
동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고있다.
대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는
전자정부 표준 프레임워크의 기반 기술로 쓰이고있다.
스프링 주요 핵심
- 경량 컨테이너
➡️ 스프링은 Java Web Application 개발을 위한 오픈 소스 프레임워크로,
기존 프레임워크 보다 가벼운 경량 프레임워크를 의미한다. - IOC (Invertion of Control) : 제어의 역전
➡️ 다른 객체를 직접 생성하거나 제어하는 것이 아니라,
외부에서 관리하는 객체를 가져와 사용하는 것을 의미한다. - DI (Dependency Injetcion) : 의존성 주입
➡️ Spring에서는 객체들을 관리하기 위해 IOC를 사용한다.
이러한 IOC 즉, 제어의 역전을 구현하기 위해 사용하는 방법이 DI다. - AOP (Aspect-Oriented Programming) : 관점 지향 프로그래밍
➡️ 프로그래밍에 대한 핵심 관점, 즉 부가 관점을 기준으로 모듈화 하는 개념이다.
예를 들면, 핵심 관점은 고객 관리에 해당하며, 부가 관점은 Logging, DB Connection 로직이다.
스프링 부트 (Spring Boot) 란?
💡 Spring Framework는 수많은 기능이 있는 만큼 환경 설정 또한 매우 복잡하다.
Spring의 초기 환경 설정 시 많은 시간이 할애되는 문제,
즉, 개발자가 환경설정보다 개발에 더 집중 할 수 있는 환경(자동화)을 위해 Spring Boot가 등장했다.
스프링 부트 (Spring Boot) 와 스프링 프레임워크 (Spring Framework)의 차이점
- Spring Boot는 Embed Server (내장 서버)를 사용해서, 내부에 Tomcat이 포함되어 있다.
즉, 별도 Tomcat 설치 및 버전 관리를 하지 않아도 된다. - Spring Boot starter를 통한 dependency 자동화가 가능하다.
- XML 설정을 하지 않아도 된다.
- Jar (Java Archive)를 이용해 쉽게 배포가 가능하다.
즉, War (Web Application Archive)를 사용해서 따로 Tomcat 설치 없이 손쉽게 배포가 가능하다.
💡 Spring Boot starter란?
Spring Boot에서는 Spring Boot starter라는 사전에 미리 정의한 편리한 의존성 조합을 제공한다.
간편하게 dependency 추가가 가능하며, 그에 맞는 라이브러리(lib)에 대한 버전관리까지 해준다.
아래는 표를 구성해서 간단하게 정리한 내용이다.
분류 | Spring Framework | Spring boot |
목적 | Application 개발을 더 쉽게 하기 위함 | Spring의 개발을 더 쉽게 하기 위함 |
설정 파일 | 개발자가 수동으로 설정 | 자동 구성 |
XML | XML로 환경설정 구성 | 사용 안함 |
In-Memory | 지원 안함 | 자동 설정 지원 |
서버 | 별도의 서버 수도 설정 | 내장 서버 |
OUTRO
Java를 사용하면 반드시 알아야 할 Framework 라고 생각합니다.
앞으로는 Java와 Spring 관련 내용을 주로 포스팅 할 예정입니다.
그러면 다음 포스팅에서 뵙겠습니다.
'Back-End > Spring' 카테고리의 다른 글
[Spring] 스프링 빈 (Spring Bean) 이란? (0) | 2024.04.09 |
---|---|
[Spring] IOC, DI, DL 란? (0) | 2024.04.05 |