Java Spring Boot란?
Java Spring Boot가 어떻게 Java Spring Framework를 사용한 웹 애플리케이션 및 마이크로서비스 개발을 간소화하는지 알아보세요.
파란색과 검은색 배경
Java Spring Boot란?

Java Spring Framework(Spring Framework)는 Java Virtual Machine(JVM)에서 실행되는 프로덕션급 독립형 애플리케이션을 만들기 위한 인기 있는 엔터프라이즈급 오픈소스 프레임워크입니다.

Java Spring Boot(Spring Boot)는 세 가지 핵심 기능을 통해 Spring Framework를 사용하여 더 빠르고 쉽게 웹 애플리케이션과 마이크로서비스를 개발하도록 돕는 툴입니다.

  1. 자동 구성

  2. 구성에 대한 독선적 접근 방식

  3. 독립형 애플리케이션을 만드는 능력

이러한 특징들이 함께 작용하여 최소한의 구성 및 설정으로 Spring 기반 애플리케이션을 설정하도록 지원하는 툴을 제공합니다.

Spring Framework가 인기 있는 이유

Spring Framework는 객체가 자체 종속성을 정의하도록 허용하는 종속성 주입 특성을 제공합니다. Spring 컨테이너는 나중에 이러한 종속성을 주입할 수 있습니다. 이를 통해 개발자는 마이크로서비스 및 분산 네트워크 애플리케이션에 이상적인 느슨하게 연결된 구성 요소로 구성된 모듈식 애플리케이션을 만들 수 있습니다.

또한, Spring Framework는 데이터 바인딩, 유형 전환, 검증, 예외 처리, 리소스 및 이벤트 관리, 국제화와 같은, 애플리케이션이 수행해야 하는 일반적 작업에 대한 내장형 지원을 제공합니다. 이 프레임워크는 RMI(Remote Method Invocation), AMQP(Advanced Message Queuing Protocol), Java Web Services 및 기타 기술과 같은 다양한 Java EE 기술과 통합됩니다. 요약하자면, Spring Framework는 어느 환경에서나 실행되는 느슨하게 연결된 플랫폼 간 Java EE 애플리케이션을 만들어야 하는 개발자에게 모든 툴과 기능을 제공합니다.

Spring Boot가 Spring Framework에 추가하는 이점

Spring Boot는 Spring Framework와 같은 기능과 포괄성을 제공하지만, Spring 애플리케이션을 구성, 설정, 배포하려면 여전히 상당한 시간과 지식이 요구됩니다. Spring Boot 는 세 가지 중요한 기능을 활용하여 이러한 노력을 완화합니다.

자동 구성


자동 구성이란 수동으로 구성하지 않아도 되는 사전 설정된 종속성 항목으로 애플리케이션이 초기화된다는 의미입니다. Java Spring Boot는 내장형 자동 구성 기능과 함께 제공되므로, 설정에 따라 (그리고 오류를 방지하는 데 도움이 되는 베스트 프랙티스에 따라) 기반 Spring Framework와 타사 패키지를 모두 자동으로 구성합니다. 초기화가 완료되면 이러한 기본값을 무효화할 수 있지만, Java Spring Boot의 자동 구성 기능을 통해 Spring 기반 애플리케이션을 빨리 개발하고 인적 오류의 가능성을 낮출 수 있습니다.

독선적 접근 방식


Spring Boot는 프로젝트의 요구 사항에 따라 시작 종속성 항목을 추가 및 구성할 때 독선적 접근 방식(opinionated approach)을 따릅니다. Spring Boot는 사용자에게 모든 결정을 맡기고 모든 것을 수동으로 설정하도록 하는 대신 자체적 판단에 따라 설치할 패키지와 사용할 기본값을 선택합니다.

초기화 프로세스 동안에는 프로젝트의 요구 사항을 정의할 수 있습니다. 초기화 프로세스 동안 사용자는 Spring Starter라고 부르는 일반적인 사용 사례에 적용되는 여러 시작 종속성 항목들 중에서 선택할 수 있습니다. 사용자는 코딩을 전혀 수행하지 않고 단순한 웹 폼을 여과하여 Spring Boot Initializer를 실행합니다.

예를 들면, 'Spring Web' 시작 종속성 항목을 통해 Apache Tomcat 웹 서버와 같은 모든 필요한 종속성 항목을 프로젝트에 추가하여 최소한의 구성으로 Spring 기반 웹 애플리케이션을 구축할 수 있습니다. 'Spring Security'는 애플리케이션에 자동으로 인증 및 액세스 제어 기능을 추가하는 또 다른 인기 있는 시작 종속성 항목입니다.

Spring Boot는 50개가 넘는 Spring Starter를 포함하고 있으며, 이용 가능한 타사의 시작 종속성 항목은 더 많습니다.

독립형 애플리케이션


Spring Boot는 개발자가 그냥 실행되는 애플리케이션을 만들도록 돕습니다. 구체적으로 말하자면, Spring Boot를 사용하면 초기화 프로세스 동안 Tomcat 또는 Netty와 같은 웹 서버를 앱에 포함하여 외부 웹 서버에 의존하지 않고 자체적으로 실행되는 독립형 애플리케이션을 만들 수 있습니다. 그러므로, Run(실행) 명령을 누르기만 하면 어느 플랫폼에서나 애플리케이션을 실행할 수 있습니다. (웹 서버가 포함되지 않은 애플리케이션을 구축하려면 이 기능을 사용하지 않을 수도 있습니다.)

Spring Boot와 Spring Framework

다시 말하지만, Spring Framework만 사용할 경우와 비교할 떄 Spring Boot를 사용하여 얻을 수 있는 가장 큰 장점은 사용 편의성과 개발 속도 향상입니다. 이론적으로는, 이러한 장점은 Spring Framework로 직접 작업할 경우 얻을 수 있는 유연성을 대가로 얻어집니다.

그러나 현실에서는 매우 독특한 구성을 실행해야 하거나 이러한 구성을 실행하기를 원하는 것이 아니라면 Spring Boot를 사용해도 단점을 감수할 만한 가치가 있습니다. 사용자는 여전히 Spring Framework의 매우 인기 있는 주석 시스템을 사용할 수 있습니다. 이 주석 시스템으로 (Spring Starter가 지원하지 않는) 추가 종속성 항목을 애플리케이션으로 쉽게 주입할 수 있습니다. 그리고 손쉬운 이벤트 처리, 검증, 데이터 바인딩, 유형 전환, 내장형 보안 및 테스트 기능과 같은 모든 Spring Framework의 기능을 여전히 이용할 수 있습니다. 결론을 말하자면, 프로젝트 범위가 단 하나의 Spring Starter로 지원되는 경우, Spring Boot는 개발을 상당히 효율화할 수 있다는 것입니다.

Spring Boot 튜토리얼

간편하고 쉬운 초보자급 Spring Boot 교육을 찾고 계신다면 운이 좋으십니다. 웹은 다음 두 가지를 포함하여 Spring Boot "시작하기"에 관한 튜토리얼로 가득 차 있습니다.

수많은 다른 튜토리얼을 확인하려면 Google에서 "Spring Boot Tutorial"을 검색하세요.

관련 솔루션
애플리케이션 구축 및 현대화

혁신을 촉진하고 비즈니스를 앞으로 나아가게 하는 데 필요한 스킬과 툴을 제공합니다.

애플리케이션 구축 및 현대화 살펴보기
IBM Cloud

IBM Cloud는 Red Hat과 함께 클라우드와 AI의 잠재력을 최대한 실현하기 위해 시장을 선도하는 보안, 엔터프라이즈 확장성, 개방형 혁신을 제공합니다.

IBM Cloud 살펴보기
IBM® WebSphere® Hybrid Edition

WebSphere Hybrid Edition으로 클라우드 네이티브 개발, 애플리케이션 현대화 및 기존 애플리케이션에 대한 지원을 촉진하는 방법을 알아봅니다.

IBM® WebSphere Hybrid Edition 살펴보기
리소스 IBM 애플리케이션 현대화 현장 안내서

이 안내서는 앱 현대화를 가속화하고, 개발자 생산성을 높이고, 운영 효율성과 표준화를 개선하는 방법을 설명합니다.

튜토리얼: Spring Boot의 기초

이 튜토리얼에서는 "그냥 실행되는" Spring 기반 애플리케이션을 간편하게 만들기 위해 Spring Boot의 시작, 오피니언 및 실행 가능한 JAR 파일 구조를 사용하는 방법을 알아봅니다.

Java란?

Java가 여전히 매우 인기 많은 개발 플랫폼인 이유와 어떻게 프로젝트를 가속화하고 다양한 새로운 기술을 지원하는지 알아봅니다.

다음 단계

IBM® WebSphere Hybrid Edition은 가상 머신, 컨테이너, Kubernetes에서 온프레미스 및 주요 퍼블릭 클라우드 배포 환경에 지원을 제공하는 포괄적인 WebSphere 애플리케이션 런타임 및 현대화 툴 그룹입니다.WebSphere Hybrid Edition으로 클라우드 네이티브 개발, 애플리케이션 현대화 그리고 기존 애플리케이션에 대한 지원을 촉진하는 방법을 알아보세요.

IBM® WebSphere Hybrid Edition 자세히 보기