Java 프레임워크는 엔터프라이즈·웹·마이크로서비스·경량·특수 목적으로 나뉘며, 실무에서는 Spring 계열이 사실상 표준입니다.
아래에 종류 + 핵심 장점 + 언제 쓰는지를 간결하게 정리했습니다.
1️⃣ Spring Framework (Spring / Spring Boot)
Java 웹·서버 개발의 표준
핵심 장점
의존성 주입(DI), AOP로 결합도↓·테스트 용이
Spring Boot로 설정 최소화 → 생산성 매우 높음
보안(Spring Security), JPA, Batch, Cloud 등 생태계 압도적
대규모 트래픽/장기 운영에 검증됨
언제 쓰나?
ㅡ 웹 서비스, API 서버, 기업용 시스템, 마이크로서비스
➡️ Java 프로젝트의 80% 이상이 Spring 선택
2️⃣ Spring Cloud
마이크로서비스 전용 확장 세트
장점
서비스 디스커버리, 설정 서버, 로드밸런싱 등 기본 제공
Kubernetes, Docker와 궁합 좋음
분산 시스템 패턴을 표준화해서 구현
언제 쓰나?
ㅡ MSA(마이크로서비스 아키텍처)
ㅡ 대규모 서비스 분산 운영
3️⃣ Jakarta EE (구 Java EE)
전통적인 엔터프라이즈 표준
장점
공식 표준 기반 (JPA, EJB, JAX-RS 등)
대기업/공공 SI 환경에서 안정성 검증
WAS 중심 구조(WebLogic, WebSphere 등)
단점
설정이 복잡하고 개발 속도가 느린 편
Spring 대비 트렌디하지 않음
언제 쓰나?
ㅡ 공공기관, 대기업 SI, 레거시 연계 필수 환경
4️⃣ Quarkus
클라우드·컨테이너·GraalVM 특화
장점
빠른 부팅 속도 & 낮은 메모리 사용
네이티브 이미지(GraalVM) 지원
Kubernetes 최적화
언제 쓰나?
ㅡ 서버리스, 컨테이너 환경
ㅡ 리소스 제한이 큰 시스템
5️⃣ Micronaut
초경량·컴파일 타임 DI
장점
런타임 리플렉션 최소화 → 성능 우수
빠른 기동, 적은 메모리 사용
클라우드/서버리스에 적합
단점
Spring 대비 생태계 작음
언제 쓰나
ㅡ 고성능 API
ㅡ 경량 마이크로서비스
6️⃣ Play Framework
비동기·리액티브 웹 프레임워크
장점
Non-blocking, Reactive 모델
Scala/Java 모두 지원
실시간 서비스에 유리
단점
Spring과 개발 방식 차이가 큼
러닝커브 존재
언제 쓰나?
ㅡ 실시간 처리, 스트리밍, 채팅 서비스
7️⃣ Vert.x
이벤트 기반 비동기 프레임워크
장점
매우 높은 동시성 처리
멀티 언어 지원
Reactive 시스템에 강점
언제 쓰나?
ㅡ 고성능 네트워크 서버
ㅡ 이벤트 기반 시스템
📌 프레임워크 선택 요약표
일반 웹/백엔드 Spring Boot
대규모·장기 운영 Spring / Spring Cloud
공공·SI·표준 Jakarta EE
서버리스·컨테이너 Quarkus / Micronaut
실시간·비동기 Play / Vert.x
✅ 실무 결론
취업/범용성/유지보수 → Spring Boot
고성능·차세대 클라우드 → Quarkus / Micronaut
SI·공공 → Jakarta EE