Intro 자바에서도 QClass 생성은 처음 하면 꽤나 당황스러운 과정인데, 코틀린은 또 과정이 달랐기에 결과물을 기록으로 남기고자 합니다. 2022년 9월 19일 기준의 최신 라이브러리들에서 잘 작동하고 있는 방법 입니다. 설정 build.gradle.kts plugins { ... kotlin("kapt") version "1.7.10" } dependencies { ... implementation("com.querydsl:querydsl-jpa:5.0.0") kapt("com.querydsl:querydsl-apt:5.0.0:jpa") } 소스코드는 딱 위의 변경 사항만 있었습니다. 의존성 변경 후에 Shift + Command + I 키를 입력 해서 Load Gradle Changes를 해 주..
Programming/Kotlin 11
문제 create를 위한 DTO를 생성 해서 자바에서 사용했던 것 처럼 validation을 해 보려 했는데 밸리데이션이 전혀 먹히지가 않았습니다. QuizCreateDto.kt data class QuizCreateDto( @NotBlank val description: String, @NotBlank val answer: String, @NotBlank val explanation: String, val examples: Array ) { override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is QuizCreateDto) return false if (description != other.descr..
Intro Kotlin과 SpringBoot를 활용해 스프링 시큐리티를 공부하고 있습니다. 아직은 코틀린에 익숙하지가 않아 자바로 된 코드를 코틀린으로 작성 할 때는 한번씩 꽤나 막히는 부분이 있는데, 이번에는 기본 생성자를 찾지 못한다는 오류가 발생했습니다. 생성자가 없다는 오류 기본 생성자를 찾지 못해 에러가 발생하고 있었는데요.. 자바였다면 그냥 @NoArgsContructor 라는 롬복 어노테이션 하나만으로도 해결 할 수 있는 이 상황을 코틀린에서는 어떻게 해결 해야 할까요? 문제의 원인이 된 상황과 해결 방법을 확인 해 보겠습니다. 원인 일단 발단이 된 코드는 아래와 같습니다. jackson 라이브러리를 활용해 request의 reader를 그대로 읽어 AccountDto 로 변환 하는 과정 인..
안녕하세요. 지난 글에 이어서 이번에는 코틀린에서의 제어문에 대해 알아보려고 합니다. 기존에 이미 자바에 대해 알고있는 개발자들을 대상으로, 코틀린이 java와 다르다고 하는데 얼마나 많이 그리고 어떤것들이 다른지를 알기 쉽게 간단하게 안내하는걸 목표로 한 시리즈 입니다. 기본적으로 자바의 문법을 알고 있음을 전제로 하고 어떤 점들이 다른지 간략하게 코틀린의 제어문에 대해 알아보겠습니다. 조건문 IF if 의 사용은 사실 특별할 게 없기 때문에 거의 같습니다. 자바에서 처럼 if와 else를 활용해서 다양한 조건을 걸어 줄 수 있습니다. val a1 = 5 if (a1 10) { print("a1 > 10") } if (a1 =..
Function 기본 함수호출 자바에서는 메서드를 사용하지만, 코틀린에서는 다른 프로그래밍 언어에서 처럼 함수 개념이 존재합니다. 일반적인 함수 사용법은 fun 함수명(파라미터){내용} 이며, 자바 코드로 변환될때는 클래스 내의 메서드로 바뀌게 됩니다. fun main() { printHello() } fun printHello() { println("Hello Kotlin") } 실행 결과 Parameter 함수에 파라미터를 넣을때는 자바와는 반대로 변수명:자료형 으로 작성 합니다. 재밌게도 자바에서 int a 라고 썼지만, 코틀린에서는 a: Int라고 작성 해야 합니다. fun main() { var a = 1 var b = 2 print("a + b = ${plus(a,b)}") } fun plus..