Skip to content

백엔드 관련 언어 및 프레임워크 사용 버전 및 이유

SeongWonYoon edited this page Feb 2, 2025 · 5 revisions

Spring Boot 3.4.1

2025.1.19 ~ 2025.2.2

2.7.x 와 3.4.x 중 크게 고민하였다.

- 3.x를 사용했을때의 장단점
  - 장점
      - 성능 및 보안 측면에서 개선됨
      - 앞으로 마이그레이션 하게 되어도 2.7버전에 비해 부담이 적다.
      - Spring Boot에서 보다 오래 지원한다.
      - 새롭게 추가된 기능을 이용할 수 있다.
  - 단점
      - 레퍼런스가 부족할 수 있다.
      - 지원되지 않는 라이브러리나 의존성이 존재할 수 있다.
- 우리팀이 3.x를 사용하는 이유
  - 2.7과 3.4 모두 우리 서비스 요구사항 구현에 있어 문제가 없기에, 그렇다면 최신 버전을 쓰는 것이 좋을 것이라고 판단하고 결정.

3.x 버전 중에서 가장 Support 기간이 긴 버전이 3.4.x 이었기 때문에 25.01.04 기준으로 3.4.1 GS 버전을 사용하기로 결정했다.

스프링 부트 Support 기간 명시 자료(25.01.04 기준)

2025.02.22 ~ ing

#49번 PR에 따라 스웨거 버전이 호환 가능 하도록 스프링 버전을 3.3.8로 변경

Open JDK 17

스프링 부트 3.1 이상 사용 시 JDK 17이상 버전을 요구한다. 지속적인 유지 보수 및 실사용목적인 우리 서비스의 성격을 고려하여 LTS 중에 선택하였다. 17 이상 버전 중 LTS는 17, 21이 있는데, 통계상 점유율이 높고, 안정성을 검증 받은 17버전 최종 선택 하였다.

근거 자료

Gradle 8.4

Maven과 Gradle 중에 고민하였다. Gradle은 Maven에 비해 간결한 구문, 최신 트렌드인 기술이라 Maven 대신 결정하게 되었다. 버전은 Spring Boot 3.4.1 System Requirements 문서란에 명시된 버전 중 최근 버전인 8.4를 선택하였다.

Spring Boot Docs