1.2. Spring과 Spring 프레임워크의 역사
Spring은 초기 J2EE 사양의 복잡성에 대한 대응책으로 2003년에 등장했습니다. 일부에서는 Java EE와 그 현대적 후속 버전인 Jakarta EE를 Spring과 경쟁 관계에 있다고 생각하지만,
사실 이들은 상호 보완적인 관계에 있습니다. Spring 프로그래밍 모델은 Jakarta EE 플랫폼 사양을 수용하는 것이 아니라 엄선된 개별적인 사양과 통합됩니다:
- 서블릿 API(JSR 340)
- 웹소켓 API(JSR 356)
- 동시성 유틸리티(JSR 236)
- JSON 바인딩 API(JSR 367)
- Bean 유효성 검사(JSR 303)
- JPA(JSR 338)
- JMS(JSR 914)
뿐만 아니라 필요한 경우 트랜잭션 조정을 위한 JTA/JCA 설정도 지원합니다.
스프링 프레임워크는 또한 애플리케이션 개발자가 스프링 프레임워크에서 제공하는 스프링 전용 메커니즘 대신 사용할 수 있는 의존성 주입(JSR 330) 및 공통 어노테이션(JSR 250) 사양을 지원합니다.
원래 이러한 사양은 일반적인 자바스 패키지를 기반으로 했습니다.
https://link.coupang.com/a/btQIAP
Spring Framework 6.0부터 Spring은 기존 javax 패키지 대신 jakarta 네임스페이스에 기반한 Jakarta EE 9 수준(예: Servlet 5.0+, JPA 3.0+)으로 업그레이드되었습니다.
EE 9를 최소로 하고 EE 10을 이미 지원하고 있는 Spring은 Jakarta EE API의 추가 진화를 위해 즉시 지원할 준비가 되어 있습니다.
Spring 프레임워크 6.0은 웹 서버로서 Tomcat 10.1, Jetty 11 및 Undertow 2.3과 완벽하게 호환되며, Hibernate ORM 6.1과도 호환됩니다.
시간이 지남에 따라 애플리케이션 개발에서 Java/Jakarta EE의 역할은 진화해 왔습니다.
J2EE와 Spring의 초기에는 애플리케이션을 애플리케이션 서버에 배포하기 위해 애플리케이션이 만들어졌습니다.
오늘날에는 Spring Boot의 도움으로 서블릿 컨테이너가 내장되어 있고 변경이 간편한 데브옵스 및 클라우드 친화적인 방식으로 애플리케이션이 만들어집니다.
Spring Framework 5부터 WebFlux 애플리케이션은 Servlet API를 직접 사용하지 않으며,
Servlet 컨테이너가 아닌 서버(예: Netty)에서도 실행할 수 있습니다.
Spring은 계속해서 혁신하고 진화하고 있습니다.
Spring 프레임워크 외에도 Spring Boot, Spring Security, Spring Data, Spring Cloud, Spring Batch 등의 다른 프로젝트가 있습니다.
각 프로젝트에는 고유한 소스 코드 저장소, 이슈 트래커 및 릴리스 주기가 있다는 점을 기억하는 것이 중요합니다.
Spring 프로젝트의 전체 목록은 spring.io/projects를 참조하세요.
*출처- https://docs.spring.io/spring-framework/docs/6.0.0/reference/pdf/spring-framework.pdf
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다
'무근본 IT 지식 공유 > 무근본 스프링(Spring Framework)' 카테고리의 다른 글
Spring Framework의 "핵심 기술" 에 대해 알아보자 - 공식 문서 해설 시리즈 (0) | 2024.03.12 |
---|---|
Spring Framework 디자인 철학 알아보고 시작하기 - 공식문서 리뷰 (0) | 2024.03.12 |
1장. Spring 프레임워크 개요 (Spring Framework 공식문서 해석) (0) | 2024.03.12 |
[무근본 스프링] @Test 어노테이션에 대해 - 왕초보도 이해하는 상세 설명 ! (0) | 2023.04.20 |
[무근본 스프링] REST API에서 PATCH 요청이란? - 코드 샘플 (0) | 2023.04.20 |
댓글