개발/kotlin
Spring Boot JPA와 Kotlin Reflect 오류 해결 방법
Spring boot + kotlin 프로젝트에서 JPA를 사용할때 아래와 같은 에러가 발생했습니다.Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'vehicleRepository' defined in com.exam.repository.VehicleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: kotlin/reflect/full/KClasses 해당 에러 메시지는 Spring Boot 애플리케이션에서 vehicle..
JSON을 Kotlin DTO로 변환하는 방법 - Kotlinx.Serialization 활용 가이드
Kotlinx.Serialization은 Kotlin 언어에서 데이터 직렬화와 역직렬화를 수행하는 라이브러리입니다. 이는 Kotlin 멀티플랫폼 프로젝트에서 쉽게 사용할 수 있도록 설계되었으며, JSON, ProtoBuf, CBOR, XML 등 여러 포맷을 지원합니다. 여기서 JSON 포맷을 중심으로 설명하겠습니다. Kotlinx.Serialization의 주요 특징다양한 포맷 지원: JSON, ProtoBuf, CBOR, XML 등 여러 포맷을 지원합니다.Kotlin 멀티플랫폼 지원: Kotlin/JVM, Kotlin/JS, Kotlin/Native 등 다양한 플랫폼에서 사용할 수 있습니다.강력한 타입 안전성: Kotlin의 강력한 타입 시스템을 활용하여 직렬화와 역직렬화 과정에서 타입 안전성을 보장합..
object, companion object, 최상위 함수 정리
개요Java에서는 static 키워드를 사용하여 클래스 수준에서 접근 가능한 필드와 메서드를 정의합니다. 코틀린에서는 static 키워드가 없지만, 비슷한 기능을 제공하는 object, Companion Object, 최상위 함수와 변수를 사용하는 방법이 있습니다. 공통점정적 접근 가능: 모두 인스턴스를 생성하지 않고도 접근할 수 있습니다.유틸리티 함수와 상수 관리: 주로 유틸리티 함수와 상수를 관리하는 데 사용됩니다.재사용성: 코드의 재사용성을 높이고 모듈화하는 데 도움이 됩니다. 차이점Object 키워드정의: object 키워드를 사용하여 싱글톤 객체를 정의합니다. 프로그램 전역에서 하나의 인스턴스만 존재합니다.용도: 주로 전역적으로 하나만 존재해야 하는 객체를 정의할 때 사용합니다.초기화: 프로..
[라이브러리] [Proj4J] 좌표계 변환 방법
EPSG:4326 좌표계를 EPSG:5181 좌표계로 변경해야 하는 일이 생겼습니다.국토교통부 V-WORLD에서 제공하는 GeocoderAPI를 사용해서 좌표를 주소로 변환하려고 했는데 EPSG:5181 좌표계 (Korean 2000 / Central Belt) 상의 주소값을 구해야 하는데 사용할 수 있는 위도, 경도 데이터는 EPSG:4326 좌표계 (WGS84) 에서 사용하는 데이터여서 위도, 경도 데이터를 5181 좌표값으로 변경을 해야 합니다.이를 위해 Proj4J 라이브러리를 사용할 수 있습니다. 1. 라이브러리 추가implementation("org.locationtech.proj4j:proj4j:1.3.0")implementation("org.locationtech.proj4j:proj4j-..