SpringBoot Java -> Kotlin

chaejm55·2022년 11월 24일
0

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

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개의 댓글