Spring

SpringBoot_Chapter01_개요

강용민 2022. 10. 5. 11:06

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