피드로 돌아가기
InfoQInfoQ
Backend

Spring Boot 4 모듈화 및 Framework 7 내장 Resilience 구조 도입

Article: The Spring Team on Spring Framework 7 and Spring Boot 4

Karsten Silz, Phil Webb, Sam Brannen, Rossen Stoyanchev, Mark Pollack, Martin Lippert, Michael Minella2026년 4월 13일12intermediate

Context

기존 Spring Boot의 Monolithic한 Auto-configuration 구조로 인한 불필요한 Classpath 체크와 Startup Time 지연 발생. 별도 의존성이 필요했던 Spring Retry의 분절된 구조로 인해 Core Framework 수준의 Resilience 구현에 제약 존재.

Technical Solution

  • Auto-configure JAR를 모듈 단위로 분리하여 Classpath 스캔 범위 축소 및 Uber Jar 크기 최적화
  • RetryTemplate와 @Retryable를 spring-core 및 spring-context 모듈에 직접 통합하여 Dependency 최소화
  • Project Reactor 기반의 Retry spec를 적용하여 @Retryable 어노테이션의 Reactive return type 지원 확장
  • @ConcurrencyLimit 도입을 통한 메서드 호출 수준의 Concurrency Throttling 제어 구현
  • Path, Header, Query Parameter, Media Type 등 다양한 전략을 선택 가능한 First-class REST API Versioning 체계 구축
  • Jakarta EE 11 및 Kotlin 2.2 baseline 채택을 통한 최신 Java Ecosystem 표준 준수

- Spring Boot 4 업그레이드 시 Jackson 3 전환에 따른 Jackson 2 compatibility module 적용 검토 - OpenRewrite recipe를 통한 설정 프로퍼티 변경 사항의 자동 마이그레이션 수행 - Virtual Threads 환경에서 @ConcurrencyLimit를 활용한 리소스 보호 전략 설계 - 서비스 특성에 맞는 HTTP API Versioning 전략(Header vs Path 등) 사전 정의

원문 읽기