• 티스토리 홈
  • 프로필사진
    아몬드맛빼빼로
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
  • 반응형
아몬드맛빼빼로
  • 프로필사진
    아몬드맛빼빼로
    • 분류 전체보기 (70)
      • Java (13)
      • C (3)
      • Spring (8)
      • Kotlin (2)
      • 회고 (7)
      • Backend (19)
      • 기타 (9)
      • DevOps (4)
      • Network (3)
      • CS (2)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [Java] Jackson 3.0
    2025년 12월 08일
    • 아몬드맛빼빼로
    • 작성자
    • 2025.12.08.:14

    Spring 7.0, JDK 25, Gradle 9.0 그리고 Jackson 3.0?

    2025년 10월 3일 Jackson 3.0이 출시되었다. Spring 7.0의 정식출시가 임박하였기에 Spring 프레임워크와 강한 결합을 가지는 Jackson이 먼저 출시된 것으로 보인다. JVM 진영이 대폭 바뀌는 와중의 업데이트이니만큼 큰 변경점들을 정리해보고자 한다.

    패키지 경로 변경

    우선 Jackson 3.0 도입 시 바로 알 수 있는 변경점이 있는데 패키지 경로 관련 변경이 있다.

    Jackson 2.x까진 

    com.fasterxml.jackson

    경로를 따랐지만

    이젠 Group ID가 변경되어서

    tools.jackson

    으로 수정되었다.

    그에 따라 만약 기존 코드에서 'ObjectMapper'를 import 받고 있었다면 import 경로역시 수정해야 하며 Jackson 종속성 역시 수정되어

    implementation('tools.jackson.core:jackson-databind:3.0.0')

    다음과 같이 추가해야 한다.

    더보기

    Spring Boot 4.0에선 하위 호환성을 위해 기존 패키지 경로역시 사용은 가능하지만 자동 Bean 등록과 같은 것이 안되기 때문에 주의해야 한다.

    불변성

    이제부터 ObjectMapper와 같은 클래스에서 추가 설정이 필요하다면 빌더 패턴의 사용이 강제된다. 이것은 과거 버전에서는 선택 사양이었지만 이제는 불변 객체들로 인하여 필수 사양이 되었다.

    final var mapper = JsonMapper.builder()
    		.enable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY)
    		.enable(JsonWriteFeature.ESCAPE_NON_ASCII)
            	.builder();

    IOException

    이제 JSON 처리 시 명시적으로 IOException에 대한 처리를 명시하지 않아도 된다.

    Jackson 3.0에서는 JacksonException이 RuntimeException을 상속받아 구현되었기 때문에 일반적인 상황에서 코드를 더 간결하게 작성할 수 있다. 

    JDK 최소 사양

    기존 Jackson 2.x는 JDK 8 이상을 요구했지만 이제는 대폭 상향되어 JDK 17 이상을 요구한다.

    메서드 제거

    3.0으로 버전업이 되며 기존에 사용중지 처리된 메서드들이 대거 삭제되었다.다만 JsonNode.asText()과 같은 것들은 삭제되지 않고 여전히 사용 중지상태로 남았다.

    결론

    Jackson 3.0은 다른 JVM 진영의 변경사항들과는 다르게 앞으로의 변경을 준비하는 초석이라고 볼 수 있다. 굉장히 크리티컬 한 Group ID 변경과 같은 사항도 있지만 자잘한 변경사항이 굉장히 많은 편이다. 그러나 Jackson은 꾸준히 클린 코드에 도달하기 위해 노력하는 오픈소스 중 하나고 변화를 준비하고 있다고 이야기하기 때문에 추후 대규모 변경을 기대해도 좋을 것 같다.

    반응형
    저작자표시 비영리 변경금지 (새창열림)

    'Java' 카테고리의 다른 글

    [Java] Java Platform Module System  (0) 2026.03.17
    [Java] GC 알고리즘?  (0) 2026.03.16
    [Java] Gradle 9.0  (0) 2025.12.03
    [Java] WAR vs JAR  (0) 2025.12.01
    [Java] Java RMI  (0) 2025.10.06
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바