자바 프로젝트 3개의 코틀린 점진적 전환기 (feat. Lombok 지원)
·2023.12.05 19:00
Lombok 이슈를 극복하며 자바 프로젝트를 코틀린으로 점진적으로 전환하는 실무 경험을 공유한다.
자바의 높은 점유율 속에서 Kotlin은 뛰어난 표현력과 null safety, 확장 함수 등을 통해 생산성을 높여주는 매력적인 대안이다.
초기 자바 프로젝트를 코틀린으로 전환할 때 가장 큰 걸림돌은 Lombok이었다. 코틀린은 롬복으로 생성된 코드를 직접 인식하지 못해, 의존성이 있는 모든 자바 파일을 delombok하여 수작업으로 수정해야 하는 번거로움이 있었다.
안정적인 전환을 위해 다음과 같은 순서로 작업을 진행하는 것이 효율적이다:
- 테스트 강화 (Unit, Integration, E2E)
- gradle.kts로 빌드 스크립트 변환
- 의존성이 낮은 Entity, Repository, Util 클래스 우선 변환
- Controller 및 Service 클래스 순차 변환
Kotlin 1.7.20 버전부터는 롬복을 플러그인으로 지원하기 시작하면서 전환 난이도가 크게 낮아졌다. 이제는 의존 관계에 있는 자바 파일을 일일이 수정할 필요 없이, 필요한 클래스만 개별적으로 코틀린으로 변환하며 점진적으로 전환할 수 있다.
실무 적용을 위해서는 Spring Boot 2.5.2 이상으로 업데이트하고, Kotlin 1.8.0 이상의 빌드 설정을 추가하는 과정이 선행되어야 한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.