본문 바로가기

🌃 TIL

Java와 SpringBoot version 선택

개요

사이드 프로젝트를 진행함에 있어서 Java와 SpringBoot version 선택에 대해 고민하게 되었다. 그 과정에서 어떤 version을 사용해야 할지 찾아가게된 과정에 대해 기술한다. 결국, SpringBoot는 3.5.1ver Java는 21을 선택했다. version 선택에 많은 시간을 소비할 수 없어 chat GPT와 함께 알아봤다.

 

 

 

 java version? (17 vs 21 vs 24) 

🔍 이유 정리

Java 버전  LTS (장기 지원) 여부 안정성 최신 기술 추천 여부
17 ✅ LTS 매우 안정적 조금 옛날 ⚪️ (무난)
21 ✅ LTS 안정적 최신 기능도 포함 가장 추천
24 ❌ LTS 아님 실험적 가장 최신 ❌ (개발용 테스트엔 OK, 실무에선 비추)

 

🧠 왜 Java 21이 좋은 선택일까?

  • LTS (Long Term Support): 오랫동안 지원되기 때문에 기업이나 실무 프로젝트에서도 많이 씀
  • 최신 기능들 추가됨: Record, Switch 개선, Virtual Threads 등등
  • 스프링 부트 3.x 이상과 잘 호환됨
  • Java 17보다 빠르고 개선된 점 많음

 

❗Java 24는 왜 피해야 할까?

  • LTS가 아니라 안정성 부족
  • ❌ 일부 라이브러리나 프레임워크와 호환 이슈 발생 가능
  • 🔬 테스트용/개인 학습용으론 괜찮지만 실무 프로젝트엔 적합하지 않음

 

✨ 추천 요약

목적 추천 Java 버전
처음 배우는 중 ✅ Java 21
실무용, 취업 준비용 ✅ Java 21
신기술 빠르게 써보고 싶을 때 🔄 Java 24 (비추천)
오래된 회사 코드 유지보수용 ⚪ Java 17

 

 

 


 

 

 

 spring boot version? ( 3.5.1 ) 

🔍 각 버전별 설명

버전 출시 시기 상태 Java 호환 특징 및 메모
4.0.0 🚧 미출시 or 베타 사용 X 미확정 현재 존재하지 않거나 실험적입니다. 무시!
3.5.1 ✅ 최신 (2025년 5월) 안정 최신버전 ✅ Java 21+ 가장 최신 LTS, 기능/성능 안정화 완료
3.5.0 2025년 4월 말 안정 ✅ Java 21 3.5.1이 더 나으므로 굳이 선택할 이유 없음
3.4.7 구버전 지원 중 보안 업데이트 정도만 받는 중
3.3.13 오래됨 유지보수 중단 ⚠️ 일부 호환 Spring Boot 3.3은 현재 권장되지 않음

 

✅ 왜 3.5.1을 선택해야 할까?

  • 📌 가장 최신 안정버전 (최신 기능 + 버그 패치 포함)
  • 🚀 Java 21과 공식 호환
  • 🔒 보안 업데이트 포함
  • 📚 커뮤니티/문서도 가장 많고 활발함

 

✨ 추천 요약

상황 추천 버전
새 프로젝트 시작 3.5.1
Java 21 사용 예정 3.5.1
Java 17만 써야 하는 환경 ⚪ 3.1.x ~ 3.4.x도 가능 (되도록 최신 유지)
실험/최신 기능 빠르게 써보고 싶을 때 ✅ 3.5.1 (Virtual Thread 등 지원 포함)