BackEnd/Spring Boot

Spring Boot란?

Raconer 2023. 4. 15. 17:06
728x90

🌱 What Is Spring?

이전 내용(Spring의 이해)을 좀 더 알기 쉽게 정리한 문서입니다.


✅ Spring 이란?

Spring을 사용하면 Java 엔터프라이즈 애플리케이션을 쉽게 만들 수 있습니다. JVM에서 대체 언어로 Groovy 및 Kotlin을 지원하고 애플리케이션의 요구 사항에 따라 다양한 종류의 아키텍처를 생성할 수 있는 유연성을 통해 엔터프라이즈 환경에서 Java 언어를 수용하는 데 필요한 모든 것을 제공합니다. Spring Framework 5.1부터 Spring은 JDK 8+(Java SE 8+)를 필요로 하며 JDK 11 LTS에 대한 기본 지원을 제공합니다. Java SE 8 업데이트 60은 Java 8의 최소 패치 릴리스로 제안되지만 일반적으로 최신 패치 릴리스를 사용하는 것이 좋습니다.
Spring은 광범위한 애플리케이션 시나리오를 지원합니다. 대기업에서 애플리케이션은 종종 오랜 시간 동안 존재하며 개발자가 제어할 수 없는 업그레이드 주기를 가진 JDK 및 애플리케이션 서버에서 실행해야 합니다. 다른 것들은 아마도 클라우드 환경에서 내장된 서버와 함께 단일 jar로 실행될 수 있습니다. 그러나 다른 것들은 서버가 필요하지 않은 독립 실행형 애플리케이션(예: 배치 또는 통합 워크로드)일 수 있습니다.
스프링은 오픈 소스입니다. 다양한 실제 사용 사례를 기반으로 지속적인 피드백을 제공하는 크고 활동적인 커뮤니티가 있습니다. 이것은 Spring이 매우 오랜 시간에 걸쳐 성공적으로 진화하는 데 도움이 되었습니다.

🔗 공식 문서: Spring Overview


⚖️ Spring Framework vs Spring Boot


1. 🌿 Spring Framework

✅ 간단 요약

종속성 주입, 트랜잭션 관리, 웹 앱, 데이터 액세스, 메시징 등 엔터프라이즈 애플리케이션을 위한 핵심 기능을 제공합니다.

📌 설명

  • 최신 Java 기반 애플리케이션을 위한 프로그래밍 및 구성 모델 제공
  • 팀이 비즈니스 로직에 집중할 수 있도록 인프라(배관) 코드 추상화

🧩 Features

  • Core
    • DI, 이벤트, 리소스, 국제화(i18n), 데이터 바인딩, SpEL, AOP 등
  • Testing
    • mock 객체, TestContext, Spring MVC 테스트 등
  • Data Access
    • 트랜잭션, DAO, JDBC, ORM, XML 마샬링 등
  • Web
    • Spring MVC, WebFlux
  • Integration
    • JMS, JCA, JMX, 이메일, 스케줄링, 캐시
  • 언어 지원
    • Kotlin, Groovy 등 동적 언어

🔗 참고: Spring Framework


2. 🚀 Spring Boot

✅ 간단 요약

빠르고 쉽게 실행 가능한 독립형 애플리케이션을 만들 수 있게 도와주는 프레임워크입니다.

📌 설명

  • "Just Run" 가능한 실행 환경을 제공
  • 최소 설정으로 Spring 및 외부 라이브러리 자동 구성
  • 대부분의 설정을 자동화하여 개발자 경험 개선

예전에는 XML 기반 설정이 필요했지만,
Spring Boot는 @Configuration, @Autowired, application.yml/properties 등을 통해 자동화

🧩 Features

  • 독립 실행형(Spring 애플리케이션) 생성
  • 내장 WAS(Tomcat, Jetty, Undertow) 제공
  • Starter 의존성으로 빌드 구성 단순화
  • Spring 및 타 라이브러리 자동 설정 지원
  • 메트릭, 헬스 체크, 외부 설정 등의 운영 편의 기능 내장
  • XML 설정 불필요 (코드 기반 구성)

🔗 참고: Spring Boot
🔗 버전 릴리스: Spring Boot Wiki Release Notes

728x90

'BackEnd > Spring Boot' 카테고리의 다른 글

HikariCP란?  (0) 2023.04.15
JDBC란?  (0) 2023.04.15
Spring Boot 서버 구축[2]  (0) 2023.04.15
Spring Boot 서버 구축[1]  (0) 2023.04.15
Override VS Overload  (0) 2023.04.15