Spring과 Spring Boot
Spring은 다양한 소규모 프로젝트에 적용되는 Java 기반의 오픈소스 앱 프레임워크이다.
그리고 Spring boot는 Spring을 더 쉽게 이용하기 위한 도구이다. 그럼 그 두 개의 차이점을 알아보자.
Spring | Spring Boot | |
정의 | Java를 기반으로 하는 오픈 소스 웹 애플리케이션 프레임워크이다. | Spring 프레임우커를 기반으로 하는 확장 또는 모듈이다. |
주 역할 | 사용자 지정되어 느슨하게 연결된(=결합도가 낮은) 웹 앱을 만들기 위해 미리 빌드된 코드 라이브러리와 도구들을 이용해 유연하면서도 완전히 구성할 수 있는 환경을 제공한다. | 주석이나 XML 구성 또는 여러 가지 추가 코드를 작성할 필요 없이 바로 실행할 수 있는 실행형 Spring 애플리케이션 제작 능력을 제공한다. |
언제 사용하나? | 유연성 의견 비제시형 접근 방식 사용자 지정 코드에서 종속성을 제거하기 위해 매우 고유한 구성을 구현하기 위해 기업용 애플리케이션을 개발하기 위해 |
사용 편의성 의견 제시형 접근 방식 빠른 시간내에 개발할 때 상용구 코드를 작성하거나 XML을 구성하지 않도록 한다. REST API를 개발한다. |
주요 기능 | 종속성 주입(DI) | 자동 구성 |
내장된 서버 | 없다. 서버를 명시적으로 설정해야 한다. | Tomcat이나 Jetty같은 기본 제공 HTTP서버가 있다. |
구성 | 수동으로 구성을 빌드해야 한다. | "구성보다는 규칙"이라는 기본 원칙에 따라 Spring 및 타사 프레임워크를 자동적으로 구성한다. |
XML로 작업하는 방법을 알아야 하나? | XML 구성 관련 지식이 필요하다. | XML 구성이 필요 없다. |
앱 개발/테스트용 CLI 도구가 있나? | 없다. | 있다. |
Spring Boot 기능 및 이점
Spring Boot 기능들이 Java 프로그래밍 작업을 간소화하는 것을 돕는 방식으로, Spring Boot의 핵심적인 기능 몇 가지는 다음과 같다.
- 독립 실행형 애플리케이션
- 내장형 서버
- 의견 제시된 접근 방식 : 의견이 제시되는 시작 종속성을 제시하여 빌드 구성을 간소화한다.
- 자동 구성 : Spring 및 기타 타사 라이브러리를 가능할 때마다 자동으로 구성한다.
- 상용구 코드, 주석, XML 구성을 작성할 필요성 감소
- 개발 및 테스트 도구 제공
- Spring 프로젝트 제품군의 앱 통합 : Spring Data, Spring Cloud, Spring Security와 같은 Spring 프레임워크 생태계를 통합했다.
[참고]
https://azure.microsoft.com/ko-kr/resources/cloud-computing-dictionary/what-is-java-spring-boot/
'Spring' 카테고리의 다른 글
토비의 Spring_Chapter02_테스트 (0) | 2022.10.14 |
---|---|
토비의 Spring_Chapter01_오브젝트와 의존관계 (0) | 2022.10.11 |
Spring_Chapter08_Transaction (0) | 2022.05.12 |
Spring_Chapter07_A.O.P (0) | 2022.05.02 |
Spring_Chapter06_스프링+MyBatis (0) | 2022.04.29 |