🌱 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 테스트 등
- mock 객체,
- 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
'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 |