데브허브 | DEVHUB | What Every Spring Developer Should Know About Jakarta EE by Ivar Grimstad @ Spring I/O 2025What Every Spring Developer Should Know About Jakarta EE by Ivar Grimstad @ Spring I/O 2025
- Ivar Grimstad는 Eclipse Foundation의 Jakarta EE 개발자 옹호자로서, Java의 30년 역사와 J2EE가 서버 측 성공에 미친 결정적인 영향을 강조합니다. 🕰️
- 초기 J2EE (EJB)와 Spring의 XML 기반 설정은 복잡하고 번거로웠으나, Java EE와 Java 5의 어노테이션 도입으로 현대적인 개발이 크게 간소화되었습니다. 🤯
- Jakarta EE는 Spring과 같은 프레임워크가 아닌, 기술을 정의하는 사양(API, TCK, 문서)의 집합이며, 지속적으로 발전하고 있습니다 (Jakarta EE 10, 11, 12). 🚀
- Jakarta EE는 엔터프라이즈 애플리케이션을 위한 '플랫폼', 전통적인 웹 애플리케이션을 위한 '웹 프로파일', 마이크로서비스를 위한 최소한의 '코어 프로파일' 등 다양한 프로파일을 제공합니다. 🏗️
- 특히 '코어 프로파일'은 CDI Light를 포함하여 컴파일 타임 의존성 주입을 통해 GraalVM과 같은 네이티브 이미지 컴파일을 지원하여 마이크로서비스에 최적화되어 있습니다. ✨
- Jakarta EE 11은 Java 17을 소스 레벨로 사용하며 Java 21에서도 호환성을 보장하며, Java LTS 릴리스 후 6-9개월 이내에 출시되는 것을 목표로 합니다. ☕
- TCK(Test Compatibility Kit) 리팩토링으로 인해 Jakarta EE 11 플랫폼 릴리스가 지연되었지만, 코어 및 웹 프로파일은 이미 출시되었습니다. ⏳
- Spring은 Jakarta EE 위에 구축되며, Spring 3에서 발생한
javax에서 jakarta 네임스페이스로의 변경은 오래된 라이브러리를 식별하는 중요한 전환점이었습니다. 🔗
- Spring Boot는 서블릿(Servlet) 사양에 기반하며, 기본적으로 Tomcat을 사용하지만 Open Liberty와 같은 다른 서블릿 컨테이너에서도 더 나은 성능으로 실행될 수 있습니다. 🌐
- Jakarta Validation (이전 Bean Validation)은 Spring이 Hibernate Validator를 통해 활용하는 또 다른 핵심 Jakarta EE 사양입니다. ✅