PSD( Private-Self-Development )

Spring Boot 버전업 (4.X.X) 의 변경 사항 본문

Backend/Spring

Spring Boot 버전업 (4.X.X) 의 변경 사항

chjysm 2026. 1. 27. 12:05

개요

기존  Spring Boot 3.x 버전대에서 4.x 버전대로 업그레이드하는 경우

어떤 변경 사항이 있고 무엇을 수정해야 하는지 알아보자 

 

0. JAVA 21 로 변경 필수

https://chjysm.tistory.com/93

 

JAVA 21 변경점

JAVA 21은 가장 중요한 성능에 큰 개선이 이루어진 아주 중요한 버전이다. 1. Virtual Threadsjava 21 의 알파이자 오메가 기존 자바 스레드 1개 = OS 스레드 1개 생성 비용이 비싸고 개수 제한이 있음IO작업

chjysm.tistory.com

 

 

1. Virtual Threads 네이티브 지원 

  • yml 에 사용 설정 하면 주류 스레드로 Virtual Thread 사용 
    • spring.threads.virtual.enabled=true
  • 고트래픽 처리 가능 
  • DB 드라이버, Spring Security, RestClient 등 내부 컴포넌트들이 Virtual Thread 친화적으로 바뀜 

 

2. RestTemplate 은퇴 → RestClient 사용 

  • 기존에 무겁고 WebFlux 의존성이 필요하고 낡았던 RestTemplate 을 대체 
  • RestClient 는 web starter 만 있으면 사용할 수 있고 Fluent API 스타일의 모던한 클라이언트이다.
Post response = restClient.get()
    .uri("https://api.example.com/posts/{id}", 1)
    .retrieve()
    .body(Post.class);
Fluent API 란?
언어 처럼 읽히는 코드 스타일 
메서드 체이닝을 활용 코드를 영어 문장 쓰듯이 흐르듯이 이어지는 스타일 이다.

 

3. 더 빠른 기동 속도 (CDS, AOT 최적화)

GraalVM 네이티브 이미지 사용이 부담되는 경우를 위해,
JVM 위에서 동작하며 기동 속도를 줄여주는 기술(CDS, AOT) 이 
기본 적용 되거나 옵션 하나로 적용되도록 최적화 되었다.

스프링 부트 구동이 느린 이유?
1. 수천개의 클래스 파일을 읽음 
2. 유요한 파일인지 검증
3. 컴퓨터 메모리에 올릴 수 있는 형태로 변환(메타데이터화)
4. 메모리에 적재
이 동작을 실행 할 때 마다 반복하기 때문 
GraalVM 네이티브 이미지 란?
자바 어플리케이션을 JVM 없이 실행 가능한 단일 파일로 완전히 바꿔버린 상태
CPU 가 JVM 없이 바로 실행하기 때문에 기동속도가 빠르다.
다만 동적로딩이 불가능 하고 재빌드 하는데 시간이 많이 걸린다.
CDS(Class Data Sharing) 란?
이전 구동 시의 클래스 메타데이터 파일(.jsa)을 생성해놓고 이를 구동할때 사용하는 것

기존 : 실행 할때 마다 JVM 이 클래스 데이터들을 처음부터 다시 다 읽어서 변환(메타데이터)하여 메모리에 올림 
CDS :  JVM이 클래스 메타데이터를 .jsa 라는 파일로 저장해놓고 다음 실행 때 해당 파일을 메모리에 복사함 (구동 빨라짐)

 

AOT(Ahead-Of-Time) 란?
빌드 할때, 컴포넌트 스캔 및 의존성 분석을 미리 해놓고 픽스 해놓는 것

기존 : 실행 할때 마다 컴포넌트 파일을 스캔하고 의존성 관계 파악하고 Bean 을 생성함 
AOT : 빌드 할때 스프링이 이를 미리 분석하여 고정 실행하면 탐색 및 의존성 분석을 스킵하고 바로 빈을 등록함 

 

 

4. Spring AI 정식 통합(Spring Boot Starter AI)

Spring AI 란 AI 계의 JPA 라고 생각하면 쉽다.
GPT, Gemini 등 특정 AI 에 접근하고 사용하기 위한 구현체를 각각 구현하지 않아도 되고
그저 Spring AI 의 property.yml 를 수정하여 갈아 끼울 수 있다. 

이 라이브러리가 정식으로 통합되었다.

 

 

5. gRPC 모듈 공식 추가 

기존 서드파티 라이브러리로 사용하던 gRPC가 Spring 공식 모듈로 편입(spring-integration-grpc) 

 

6. MSA 관측성 모듈 통합 

Spring Cloud Sleuth 가 삭제되고 Micrometer Tracing 으로 완전 대체 

로그, 메트릭, 트레이싱이 단일 통합

별도 설정 없이도 그라파나/프로메테우스/Zipkin 등과 연동

 

7. JPA(Hibernate 6) 업그레이드

번역 속도가 향상되었고 
이제는 property.yml 에 Dialect 를 명시하지 않아도 자동 으로 잘 잡는다.

'Backend > Spring' 카테고리의 다른 글

Spring Boot 버전업 (3.X.X) 의 변경 사항  (0) 2026.01.26