SpringBoot Java -> Kotlin

chaejm55·2022년 11월 24일
0

GDSC-KNU-2nd-Backend

목록 보기
1/10

gdsc 백엔드 스터디를 진행하며 작성한 게시물입니다.

자바로 작성된 스프링부트 코드를 코틀린으로 변환하면서 찾아 봤던 것들을 정리해둔 게시물입니다.

1) Lombok 제거

코틀린에서는 자바에서 lombok으로 제공 받던 기능을 모두 기본적으로 사용가능해서 굳이 사용할 필요가 없습니다.

  • @Getter, @Setter : 기본적으로 class.변수명으로 별도의 annotation 없이 사용가능합니다.
  • @Data : class를 data class로 생성하면 대체가능합니다.
  • @NoArgsConstructor : noArg 플러그인 설치로 대체가능합니다.

2) validation 주의점

주 생성자에서 validation annotation 사용 시 @field:를 명시 해주어야 의도대로 field에서 validation이 작동합니다.

class MemberForm (
    // validation 사용시 @field: 명시 그래야 필드에도 validation이 들어감
    @field: NotEmpty(message = "회원 이름은 필수입니다.")
    val name: String? = null
)

3) 클래스이름::class.java 이용

코틀린 클래스를 리플렉션(::)으로 사용하면 KClass가 반환됩니다. 하지만 자바에서는 그냥 Class형식으로 반환되므로 자바 Class가 필요한 메서드에서는 뒤에 .java를 붙여 자바 클래스를 받아와 사용할 수 있습니다.

4) Reference

Kotlin 에서 Validation 사용시 주의할 점

[Android] 코틀린 ::class.java는 무엇일까?

profile
여러가지를 시도하는 학생입니다

0개의 댓글